All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Arjan van de Ven <arjan@linux.intel.com>
Cc: Jamie Lokier <jamie@shareable.org>,
	Dave Kleikamp <shaggy@linux.vnet.ibm.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Grissiom <chaos.proton@gmail.com>,
	linux-kernel@vger.kernel.org,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH] async: Don't call async_synchronize_full_special() while holding sb_lock
Date: Mon, 12 Jan 2009 18:55:16 +1100	[thread overview]
Message-ID: <20090112075516.GK8071@disturbed> (raw)
In-Reply-To: <496ABF01.50001@linux.intel.com>

On Mon, Jan 12, 2009 at 03:54:41AM +0000, Arjan van de Ven wrote:
> Jamie Lokier wrote:
>> Arjan van de Ven wrote:
>>>> 	- removing a million files and queuing all of the
>>>> 	  deletes in the async queues....
>>> the async code throttles at 32k outstanding.
>>> Yes 32K is arbitrary, but if you delete  a million files fast, all 
>>> but the first few thousand are
>>> synchronous.
>>
>> Hmm.
>>
>> If I call unlink() a thousand times and then call fsync() on the
>> parent directories covering files I've unlinked... I expect the
>> deletes to be committed to disk when the last fsync() has returned.  I
>> require that a crash and restart will not see the files.  Several
>> kinds of transactional software and even some shell scripts expect this.
>>
>> Will these asynchronous deletes break the guaranteed
>> commit-of-the-delete provided by fsync() on the parent directory?
>
> 3 things:
> 1) removing the name from the directory and removing the data from disk are independent things.
> The former happens from unlink(), the later happens when the refcount hits 0 (eg no more openers nor
> any directory on disk referencing it). fsync() on a parent dir obviously only covers the first part,
> while only the 2nd part was made asynchronous.
> 2) with the right synchronization point in fsync, it will still work out

What scope does that synchronisation point have? I sincerely
hope you are not proposing to put a filesystem global
synchronisation point into fsync....

> 3) this code will be redone for 2.6.30; for 2.6.29 it is removed.

Can you tell use how you plan to redo this code and test it
adequately for 2.6.30?

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2009-01-12  7:55 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-08  8:07 "BUG: scheduling while atomic: pdflush/30/0x00000002" in latest git Grissiom
2009-01-08 14:37 ` Dave Kleikamp
2009-01-08 15:21   ` Arjan van de Ven
2009-01-08 15:46     ` [PATCH] async: Don't call async_synchronize_full_special() while holding sb_lock Dave Kleikamp
2009-01-08 22:50       ` Dave Chinner
2009-01-08 22:51         ` Arjan van de Ven
2009-01-08 22:51           ` Arjan van de Ven
2009-01-09  0:32           ` Alan Cox
2009-01-09  0:38             ` Arjan van de Ven
2009-01-09  1:40           ` Dave Chinner
2009-01-09  1:40             ` Dave Chinner
2009-01-09  4:45             ` Arjan van de Ven
2009-01-09  4:45               ` Arjan van de Ven
2009-01-09  8:22               ` Dave Chinner
2009-01-09 15:09                 ` Chris Mason
2009-01-12  2:31               ` Jamie Lokier
2009-01-12  3:54                 ` Arjan van de Ven
2009-01-12  7:55                   ` Dave Chinner [this message]
2009-01-12  7:48                 ` Dave Chinner
2009-01-09 12:31         ` Evgeniy Polyakov
2009-01-09  5:18   ` "BUG: scheduling while atomic: pdflush/30/0x00000002" in latest git Grissiom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090112075516.GK8071@disturbed \
    --to=david@fromorbit.com \
    --cc=arjan@linux.intel.com \
    --cc=chaos.proton@gmail.com \
    --cc=jamie@shareable.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shaggy@linux.vnet.ibm.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.