From: Theodore Tso <tytso@mit.edu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jan Kara <jack@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@elte.hu>, Alan Cox <alan@lxorguk.ukuu.org.uk>,
Arjan van de Ven <arjan@infradead.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Nick Piggin <npiggin@suse.de>, Jens Axboe <jens.axboe@oracle.com>,
David Rees <drees76@gmail.com>, Jesper Krogh <jesper@krogh.cc>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Linux 2.6.29
Date: Wed, 25 Mar 2009 14:58:24 -0400 [thread overview]
Message-ID: <20090325185824.GO32307@mit.edu> (raw)
In-Reply-To: <alpine.LFD.2.00.0903251008120.3032@localhost.localdomain>
On Wed, Mar 25, 2009 at 10:29:48AM -0700, Linus Torvalds wrote:
> I suspect there is also some possibility of confusion with inter-file
> (false) metadata dependencies. If a filesystem were to think that the file
> size is metadata that should be journaled (in a single journal), and the
> journaling code then decides that it needs to do those meta-data updates
> in the correct order (ie the big file write _before_ the file write that
> wants to be fsync'ed), then the fsync() will be delayed by a totally
> irrelevant large file having to have its data written out (due to
> data=ordered or whatever).
It's not just the file size; it's the block allocation decisions.
Ext3 doesn't have delayed allocation, so as soon as you issue the
write, we have to allocate the block, which means grabbing blocks and
making changes to the block bitmap, and then updating the inode with
those block allocation decisions. It's a lot more than just i_size.
And the problem is that if we do this for the big file write, and the
small file write happens to also touch the same inode table block
and/or block allocation bitmap, when we fsync() the small file, when
we end up pushing out the metadata updates associated with the big
file write, and so thus we need to flush out the data blocks
associated with the big file write as well.
Now, there are three ways of solving this problem. One is to use
delayed allocation, where we don't make the block allocation decisions
until the very last minute. This is what ext4 and XFS does. The
problem with this is that when we have unrelated filesystem operations
that end up causing zero length files before the file write (i.e.,
replace-via-truncate, where the application does open/truncate/write/
close) or the after the file write (i.e., replace-via-rename, where
the application does open/write/close/rename) and the application
omits the fsync(). So with ext4 we has workarounds that start pushing
out the data blocks in the for replace-via-rename and
replace-via-truncate cases, while XFS will do an implied fsync for
replace-via-truncate only, and btrfs will do an implied fsync for
replace-via-rename only.
The second solution is we could add a huge amount of machinery to try
track these logical dependencies, and then be able to "back out" the
changes to the inode table or block allocation bitmap for the big file
write when we want to fsync out the small file. This is roughly what
the BSD Soft Updates mechanisms does, and it works, but at the cost of
a *huge* amount of complexity. The amount of accounting data you have
to track so that you can partially back out various filesystem
operations, and then the state tables that make use of this accounting
data is not trivial. One of the downsides of this mechanism is that
it makes it extremely difficult to add new features/functionality such
as extended attributes or ACL's, since very few people understand the
complexities needed to support it. As a result Linux had acl and
xattr support long before Kirk McKusick got around to adding those
features in UFS2.
The third potential solution we can try doing is to make some tuning
adjustments to the VM so that we start pushing out these data blocks
much more aggressively out to the disk. If we assume that many
applications aren't going to be using fsync, and we need to worry
about all sorts of implied dependencies where a small file gets pushed
out to disk, but a large file does not, you can have endless amounts
of fun in terms of "application level file corruption", which is
simply caused by the fact that a small file has been pushed out to
disk, and a large file hasn't been pushed out to disk yet. If it's
going to be considered fair game that application programmers aren't
going to be required to use fsync() when they need to depend on
something being on stable storage after a crash, then we need to tune
the VM to much more aggressively clean dirty pages. Even if we remove
the false dependencies at the filesystem level (i.e., fsck-detectable
consistency problems), there is no way for the filesystem to be able
to guess about implied dependencies between different files at the
application level.
Traditionally, the way applications told us about such dependencies
was fsync(). But if application programmers are demanding that
fsync() is no longer required for correct operation after a filesystem
crash, all we can do is push things out to disk much more
aggressively.
- Ted
next prev parent reply other threads:[~2009-03-25 18:59 UTC|newest]
Thread overview: 663+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-23 23:29 Linux 2.6.29 Linus Torvalds
2009-03-24 6:19 ` Jesper Krogh
2009-03-24 6:46 ` David Rees
2009-03-24 7:32 ` Jesper Krogh
2009-03-24 8:16 ` Ingo Molnar
2009-03-24 11:10 ` Jesper Krogh
2009-03-24 19:00 ` David Rees
2009-03-25 17:42 ` Jesper Krogh
2009-03-25 18:16 ` David Rees
2009-03-25 18:46 ` Jesper Krogh
2009-03-25 18:30 ` Theodore Tso
2009-03-25 18:40 ` Linus Torvalds
2009-03-25 22:05 ` Theodore Tso
2009-03-25 23:23 ` Linus Torvalds
2009-03-25 23:46 ` Bron Gondwana
2009-03-26 0:32 ` Ric Wheeler
2009-03-27 0:11 ` Andrew Morton
2009-03-27 0:27 ` Linus Torvalds
2009-03-27 0:47 ` Andrew Morton
2009-03-27 1:03 ` Linus Torvalds
2009-03-27 1:25 ` Andrew Morton
2009-03-27 2:21 ` David Rees
2009-03-27 3:03 ` Matthew Garrett
2009-03-27 3:36 ` Dave Jones
2009-03-27 3:01 ` Matthew Garrett
2009-03-27 3:38 ` Linus Torvalds
2009-03-27 3:59 ` Linus Torvalds
2009-03-28 23:52 ` david
2009-03-28 5:06 ` Ingo Molnar
2009-04-01 21:03 ` Lennart Sorensen
2009-04-01 21:36 ` Andrew Morton
2009-04-01 22:57 ` Lennart Sorensen
2009-04-03 14:46 ` Mark Lord
2009-04-03 15:16 ` Lennart Sorensen
2009-04-03 15:42 ` Mark Lord
2009-04-03 18:59 ` Jeff Garzik
2009-04-04 8:18 ` Andrew Morton
2009-04-04 12:40 ` Mark Lord
2009-04-05 1:57 ` David Newall
2009-04-05 3:46 ` Mark Lord
2009-04-02 1:00 ` Ingo Molnar
2009-04-03 4:06 ` Lennart Sorensen
2009-04-03 4:13 ` Linus Torvalds
2009-04-03 7:25 ` Jens Axboe
2009-04-03 8:15 ` Ingo Molnar
2009-04-06 21:46 ` Bill Davidsen
2009-04-03 14:21 ` Lennart Sorensen
2009-04-03 15:05 ` Mark Lord
2009-04-03 15:14 ` Lennart Sorensen
2009-04-03 19:57 ` Jeff Garzik
2009-04-03 21:28 ` Janne Grunau
2009-04-03 21:57 ` Jeff Garzik
2009-04-03 22:32 ` Janne Grunau
2009-04-03 22:57 ` David Rees
2009-04-03 23:29 ` Jeff Garzik
2009-04-03 23:52 ` Linus Torvalds
2009-04-03 22:53 ` David Rees
2009-04-03 23:30 ` Jeff Garzik
2009-04-04 16:29 ` Janne Grunau
2009-04-04 23:02 ` Jeff Garzik
2009-04-05 14:20 ` Janne Grunau
2009-04-06 14:06 ` Lennart Sorensen
2009-04-03 22:28 ` Jeff Moyer
2009-04-06 14:15 ` Lennart Sorensen
2009-04-06 21:27 ` Mark Lord
2009-04-06 21:56 ` Lennart Sorensen
2009-04-02 11:05 ` Janne Grunau
2009-04-02 16:09 ` Andrew Morton
2009-04-02 16:33 ` David Rees
2009-04-02 16:46 ` Linus Torvalds
2009-04-02 16:51 ` Andrew Morton
2009-04-02 22:13 ` Jeff Garzik
2009-04-02 21:56 ` Jeff Garzik
2009-04-02 16:29 ` David Rees
2009-04-02 16:42 ` Andrew Morton
2009-04-02 16:57 ` Linus Torvalds
2009-04-02 17:04 ` Linus Torvalds
2009-04-02 22:09 ` Jeff Garzik
2009-04-02 22:42 ` Linus Torvalds
2009-04-02 22:51 ` Andrew Morton
2009-04-02 23:00 ` Linus Torvalds
2009-04-03 2:01 ` Jeff Garzik
2009-04-03 2:16 ` Linus Torvalds
2009-04-03 3:05 ` Jeff Garzik
2009-04-03 3:34 ` Linus Torvalds
2009-04-03 11:32 ` Chris Mason
2009-04-03 15:07 ` Linus Torvalds
2009-04-03 15:40 ` Chris Mason
2009-04-03 20:05 ` Jeff Garzik
2009-04-03 20:14 ` Linus Torvalds
2009-04-03 21:48 ` Jeff Garzik
2009-04-03 22:06 ` Linus Torvalds
2009-04-03 23:48 ` Jeff Garzik
2009-04-04 12:46 ` Mark Lord
2009-04-04 12:52 ` Huang Yuntao
2009-04-03 23:35 ` Dave Jones
2009-04-04 12:44 ` Mark Lord
2009-04-04 21:10 ` Jeff Garzik
2009-04-03 5:05 ` Nick Piggin
2009-04-03 8:31 ` Jeff Garzik
2009-04-03 8:35 ` Jeff Garzik
2009-04-03 2:38 ` Trenton D. Adams
2009-04-03 2:54 ` Jeff Garzik
2009-04-03 15:14 ` Mark Lord
2009-04-03 15:18 ` Lennart Sorensen
2009-04-03 15:46 ` Mark Lord
2009-04-03 15:28 ` Linus Torvalds
2009-04-02 18:52 ` David Rees
2009-04-02 21:42 ` Theodore Tso
2009-04-02 21:50 ` Lennart Sorensen
2009-04-03 15:07 ` Mark Lord
2009-04-02 12:17 ` Theodore Tso
2009-04-02 21:54 ` Lennart Sorensen
2009-04-02 23:27 ` Theodore Tso
2009-04-03 0:32 ` Lennart Sorensen
2009-03-27 3:23 ` Theodore Tso
2009-03-27 3:47 ` Matthew Garrett
2009-03-27 5:13 ` Theodore Tso
2009-03-27 5:57 ` Matthew Garrett
2009-03-27 6:21 ` Matthew Garrett
2009-03-27 11:24 ` Theodore Tso
2009-03-27 12:17 ` Linux 2.6.29 - delayed metadata for delayed allocation? Andreas T.Auer
2009-03-27 14:51 ` Linux 2.6.29 Matthew Garrett
2009-03-27 15:08 ` Alan Cox
2009-03-27 15:22 ` Matthew Garrett
2009-03-27 16:15 ` Alan Cox
2009-03-27 16:28 ` Matthew Garrett
2009-03-27 16:51 ` Alan Cox
2009-03-27 17:02 ` Matthew Garrett
2009-03-27 17:19 ` Alan Cox
2009-03-27 18:05 ` Linus Torvalds
2009-03-27 18:35 ` Alan Cox
2009-03-27 19:03 ` Theodore Tso
2009-03-27 19:14 ` Alan Cox
2009-03-27 19:32 ` Theodore Tso
2009-03-27 20:11 ` Andreas T.Auer
2009-03-27 22:01 ` Linus Torvalds
2009-03-31 9:58 ` Neil Brown
2009-03-27 19:19 ` Gene Heskett
2009-03-27 19:48 ` Theodore Tso
2009-03-27 20:02 ` Aaron Cohen
[not found] ` <727e50150903271301l36cff340l33e813bf6f77b4b@mail.gmail.com>
2009-03-27 20:04 ` Theodore Tso
2009-03-27 22:37 ` Gene Heskett
2009-03-27 22:55 ` Theodore Tso
2009-03-28 0:42 ` Gene Heskett
2009-03-27 18:36 ` Hua Zhong
2009-03-27 17:57 ` Linus Torvalds
2009-03-27 18:22 ` Linus Torvalds
2009-03-27 18:32 ` Alan Cox
2009-03-27 18:40 ` Linus Torvalds
2009-03-27 19:00 ` Alan Cox
2009-03-29 9:15 ` Xavier Bestel
2009-03-29 20:16 ` Alan Cox
2009-03-29 21:07 ` Linus Torvalds
2009-03-30 19:37 ` Jeremy Fitzhardinge
2009-03-27 20:27 ` Felipe Contreras
2009-03-27 19:43 ` Jeff Garzik
2009-03-27 20:01 ` Theodore Tso
2009-03-27 22:20 ` Jeff Garzik
2009-03-27 21:46 ` Linus Torvalds
2009-03-27 22:06 ` Jeff Garzik
2009-03-27 22:19 ` Linus Torvalds
2009-03-27 22:25 ` Linus Torvalds
2009-03-28 1:19 ` Jeff Garzik
2009-03-28 1:30 ` David Miller
2009-03-28 2:19 ` Mark Lord
2009-03-28 2:49 ` Jeff Garzik
2009-03-28 13:29 ` Stefan Richter
2009-03-28 14:17 ` Jeff Garzik
2009-03-28 14:35 ` Stefan Richter
2009-03-28 15:17 ` Mark Lord
2009-03-28 16:08 ` Stefan Richter
2009-03-28 16:32 ` Linus Torvalds
2009-03-28 17:22 ` David Hagood
2009-03-29 1:18 ` Jeff Garzik
2009-03-31 18:45 ` Jörn Engel
2009-03-29 23:14 ` Dave Chinner
2009-03-30 0:39 ` Theodore Tso
2009-03-30 1:29 ` Trenton Adams
2009-03-30 3:28 ` Theodore Tso
2009-03-30 3:55 ` Trenton D. Adams
2009-03-30 13:45 ` Theodore Tso
2009-03-30 6:31 ` Dave Chinner
2009-03-30 13:55 ` Theodore Tso
2009-03-30 7:13 ` Andreas T.Auer
2009-03-30 9:05 ` Alan Cox
2009-03-30 10:49 ` Andreas T.Auer
2009-03-30 11:12 ` Alan Cox
2009-03-30 11:17 ` Ric Wheeler
2009-03-30 13:48 ` Mark Lord
2009-03-30 14:00 ` Ric Wheeler
2009-03-30 14:44 ` Mark Lord
2009-03-30 14:58 ` Ric Wheeler
2009-03-30 15:21 ` Mark Lord
2009-03-30 15:27 ` Ric Wheeler
2009-03-30 16:13 ` Linus Torvalds
2009-03-30 16:30 ` Mark Lord
2009-03-30 16:58 ` Linus Torvalds
2009-03-30 17:29 ` Mark Lord
2009-03-30 17:57 ` Chris Mason
2009-03-30 18:39 ` Mark Lord
2009-03-30 18:52 ` Chris Mason
2009-03-30 20:19 ` Mark Lord
2009-03-30 18:54 ` Pasi Kärkkäinen
2009-03-30 15:00 ` Jeff Garzik
2009-03-30 15:34 ` Linus Torvalds
2009-03-30 16:11 ` Ric Wheeler
2009-03-30 16:34 ` Linus Torvalds
2009-03-30 17:11 ` Ric Wheeler
2009-03-30 17:39 ` Mark Lord
2009-03-30 17:51 ` Linus Torvalds
2009-03-30 18:15 ` Ric Wheeler
2009-03-30 19:08 ` Eric Sandeen
2009-03-30 19:22 ` Rik van Riel
2009-03-30 19:41 ` Jeff Garzik
2009-03-30 20:21 ` Michael Tokarev
2009-03-30 20:26 ` Mark Lord
2009-03-30 20:29 ` Mark Lord
2009-03-30 20:35 ` Jeff Garzik
2009-03-30 20:40 ` Mark Lord
2009-03-30 20:34 ` Jeff Garzik
2009-03-30 20:05 ` Linus Torvalds
2009-03-31 9:27 ` Neil Brown
2009-03-31 21:13 ` Alan Cox
2009-03-31 21:10 ` Alan Cox
2009-03-31 21:55 ` Linus Torvalds
2009-03-30 19:02 ` Bill Davidsen
2009-04-01 1:19 ` david
2009-04-01 16:24 ` Bill Davidsen
2009-04-01 20:15 ` david
2009-04-01 21:33 ` Andreas T.Auer
2009-04-01 22:29 ` david
2009-04-02 2:30 ` Bron Gondwana
2009-04-02 4:55 ` david
2009-04-02 5:29 ` Bron Gondwana
2009-04-02 9:58 ` Andreas T.Auer
2009-04-02 12:30 ` Bill Davidsen
2009-04-01 22:00 ` Harald Arnesen
2009-04-01 22:09 ` Alejandro Riveira Fernández
2009-04-01 22:28 ` david
2009-03-30 3:01 ` Mark Lord
2009-03-30 6:41 ` Andreas T.Auer
2009-03-30 12:55 ` Chris Mason
2009-03-30 17:42 ` Theodore Tso
2009-03-31 23:55 ` Dave Chinner
2009-04-01 12:53 ` Chris Mason
2009-04-01 15:41 ` Andreas T.Auer
2009-04-01 16:02 ` Chris Mason
2009-04-01 18:37 ` Andreas T.Auer
2009-04-01 21:50 ` Theodore Tso
2009-04-01 23:44 ` Matthew Garrett
2009-03-28 16:25 ` Alex Goebel
2009-03-28 21:12 ` Hua Zhong
2009-03-29 8:22 ` Stefan Richter
2009-03-29 0:33 ` david
2009-03-29 1:24 ` Jeff Garzik
2009-03-29 3:43 ` Theodore Tso
2009-03-29 4:53 ` Jeff Garzik
2009-03-31 15:01 ` Thierry Vignaud
2009-03-28 0:18 ` Jeff Garzik
2009-03-28 1:45 ` Linus Torvalds
2009-03-28 2:53 ` Jeff Garzik
2009-03-28 2:56 ` Zid Null
2009-03-28 3:55 ` Gene Heskett
2009-03-28 11:29 ` Alejandro Riveira Fernández
2009-03-28 2:16 ` Mark Lord
2009-03-28 2:38 ` Linus Torvalds
2009-03-28 11:57 ` Andreas T.Auer
2009-03-27 15:20 ` Giacomo A. Catenazzi
2009-03-27 21:11 ` Jeremy Fitzhardinge
2009-03-28 7:45 ` Bojan Smojver
2009-03-28 8:43 ` Bojan Smojver
2009-03-28 21:55 ` Bojan Smojver
2009-03-31 21:51 ` Jeremy Fitzhardinge
2009-03-31 22:30 ` Bojan Smojver
2009-04-01 5:26 ` Bojan Smojver
2009-04-01 6:35 ` Jeremy Fitzhardinge
2009-04-03 12:39 ` Pavel Machek
2009-03-27 0:51 ` Linus Torvalds
2009-03-27 1:03 ` Andrew Morton
2009-03-27 9:58 ` Alan Cox
2009-03-26 2:50 ` Neil Brown
2009-03-26 3:13 ` Theodore Tso
2009-03-24 9:15 ` Alan Cox
2009-03-24 9:32 ` Ingo Molnar
2009-03-24 10:10 ` Alan Cox
2009-03-24 10:31 ` Ingo Molnar
2009-03-24 11:12 ` Andrew Morton
2009-03-24 12:23 ` Alan Cox
2009-03-24 13:37 ` Theodore Tso
2009-03-25 12:37 ` Jan Kara
2009-03-25 15:00 ` Theodore Tso
2009-03-25 17:29 ` Linus Torvalds
2009-03-25 17:57 ` Alan Cox
2009-03-25 18:09 ` David Rees
2009-03-25 18:21 ` Linus Torvalds
2009-03-25 18:26 ` Linus Torvalds
2009-03-25 18:48 ` Ric Wheeler
2009-03-25 18:49 ` Alan Cox
2009-03-25 18:55 ` Ric Wheeler
2009-03-25 18:58 ` Theodore Tso [this message]
2009-03-25 19:48 ` Christoph Hellwig
2009-03-25 21:50 ` Theodore Tso
2009-03-26 2:10 ` Matthew Garrett
2009-03-26 2:36 ` Jeff Garzik
2009-03-26 2:42 ` Matthew Garrett
[not found] ` <f73f7ab80903251944s581166bbk31c26db50750814a@mail.gmail.com>
2009-03-26 2:46 ` Kyle Moffett
2009-03-26 2:51 ` Jeff Garzik
2009-03-26 3:03 ` Kyle Moffett
2009-03-26 3:40 ` Linus Torvalds
2009-03-26 3:57 ` David Miller
2009-03-26 4:58 ` Kyle Moffett
2009-03-26 6:24 ` Jeff Garzik
2009-03-26 12:49 ` Kyle Moffett
2009-03-26 2:47 ` Matthew Garrett
2009-03-26 2:54 ` Kyle Moffett
2009-03-25 20:45 ` Linus Torvalds
2009-03-25 21:51 ` Theodore Tso
2009-03-25 23:21 ` Linus Torvalds
2009-03-25 23:50 ` Jan Kara
2009-03-26 0:04 ` Linus Torvalds
2009-03-26 9:06 ` ext3 IO latency measurements (was: Linux 2.6.29) Ingo Molnar
2009-03-26 9:09 ` Ingo Molnar
2009-03-26 11:08 ` Jens Axboe
2009-03-26 14:27 ` Arjan van de Ven
2009-03-26 14:36 ` Jens Axboe
2009-03-26 14:49 ` Arjan van de Ven
2009-03-26 11:37 ` Theodore Tso
2009-03-26 12:44 ` Ingo Molnar
2009-03-26 12:46 ` Ingo Molnar
2009-03-26 14:03 ` Ingo Molnar
2009-03-26 14:13 ` Ingo Molnar
2009-03-26 14:30 ` Andrew Morton
2009-03-26 15:32 ` relatime: update once per day patches (was: ext3 IO latency measurements) Frans Pop
2009-03-26 15:47 ` Andrew Morton
2009-03-26 16:14 ` Linus Torvalds
2009-03-26 16:24 ` Andrew Morton
2009-03-26 17:12 ` Frans Pop
2009-03-26 17:48 ` Andrew Morton
2009-03-26 18:49 ` Matthew Garrett
2009-03-26 19:20 ` Andrew Morton
2009-03-26 19:43 ` Matthew Garrett
2009-03-27 11:25 ` David Hagood
2009-03-26 16:30 ` Theodore Tso
2009-03-26 16:40 ` Jose Celestino
2009-03-26 17:14 ` Frans Pop
2009-03-26 16:53 ` Frans Pop
2009-03-26 16:53 ` Linus Torvalds
2009-03-26 17:32 ` [PATCH] Allow relatime to update atime once a day Matthew Garrett
2009-03-26 17:56 ` Alexey Dobriyan
2009-03-26 18:55 ` Alan Cox
2009-03-26 14:47 ` ext3 IO latency measurements (was: Linux 2.6.29) Theodore Tso
2009-03-26 16:20 ` Linus Torvalds
2009-03-26 17:06 ` Andreas Schwab
2009-03-26 17:07 ` Theodore Tso
2009-03-26 17:16 ` Linus Torvalds
2009-03-26 17:49 ` [PATCH 1/2] Add a strictatime mount option Matthew Garrett
2009-03-26 17:53 ` [PATCH 2/2] Make relatime default Matthew Garrett
2009-03-26 18:48 ` Alan Cox
2009-03-26 22:27 ` Linus Torvalds
2009-03-27 0:15 ` Frans Pop
2009-03-27 0:30 ` Linus Torvalds
2009-03-27 14:06 ` Alan Cox
2009-03-27 2:05 ` Frans Pop
2009-04-09 20:13 ` Pavel Machek
2009-04-09 20:47 ` Linus Torvalds
2009-04-09 21:15 ` Pavel Machek
2009-04-09 21:20 ` Linus Torvalds
2009-04-09 22:00 ` Pavel Machek
2009-03-30 14:42 ` Andrea Arcangeli
2009-03-30 14:52 ` Xavier Bestel
2009-03-30 19:26 ` Bill Davidsen
2009-03-26 18:52 ` [PATCH 1/2] Add a strictatime mount option Alan Cox
2009-03-26 18:59 ` ext3 IO latency measurements (was: Linux 2.6.29) Alan Cox
2009-03-26 20:02 ` Matthew Garrett
2009-03-26 20:42 ` Alan Cox
2009-03-26 20:55 ` Matthew Garrett
2009-03-26 20:58 ` Alan Cox
2009-03-26 23:04 ` Bron Gondwana
2009-03-27 11:22 ` Alan Cox
2009-03-27 12:19 ` Bron Gondwana
2009-03-27 13:56 ` Alan Cox
2009-03-27 12:00 ` ext3 IO latency measurements Giacomo A. Catenazzi
2009-03-26 17:29 ` ext3 IO latency measurements (was: Linux 2.6.29) Frans Pop
2009-03-26 17:32 ` Bill Nottingham
2009-03-26 17:41 ` Linus Torvalds
2009-03-26 18:23 ` Bill Nottingham
2009-03-26 22:24 ` Linus Torvalds
2009-03-27 13:47 ` Bill Nottingham
2009-03-26 18:54 ` Alan Cox
2009-03-26 15:28 ` Theodore Tso
2009-03-26 23:02 ` Ingo Molnar
2009-03-26 23:59 ` Theodore Tso
2009-03-27 0:08 ` Ingo Molnar
2009-03-27 0:40 ` Jesse Barnes
2009-03-31 11:51 ` Neil Brown
2009-03-26 12:22 ` Pekka Enberg
2009-03-26 12:23 ` Pekka Enberg
2009-03-26 14:38 ` Andrew Morton
2009-03-26 18:11 ` Jan Kara
2009-03-26 18:35 ` Andrew Morton
2009-03-27 21:26 ` Jan Kara
2009-03-26 22:39 ` Linus Torvalds
2009-03-26 22:57 ` Andrew Morton
2009-03-27 21:38 ` Jan Kara
2009-03-27 22:10 ` Linus Torvalds
2009-03-28 19:43 ` Andrew Morton
2009-04-09 21:59 ` updated: ext3 IO latency measurements on v2.6.30-rc1 Ingo Molnar
2009-04-10 7:34 ` Heinz Diehl
2009-05-18 16:37 ` Sanjoy Mahajan
2009-03-25 23:57 ` Linux 2.6.29 Linus Torvalds
2009-03-26 0:22 ` Jan Kara
2009-03-26 1:34 ` Linus Torvalds
2009-03-26 2:59 ` Theodore Tso
2009-03-26 16:24 ` Jan Kara
2009-03-24 13:20 ` Theodore Tso
2009-03-24 13:30 ` Ingo Molnar
2009-03-24 13:51 ` Theodore Tso
2009-03-24 16:34 ` Jesper Krogh
2009-03-24 17:32 ` Linus Torvalds
2009-03-24 18:20 ` Mark Lord
2009-03-24 18:41 ` Eric Sandeen
2009-03-24 13:52 ` Alan Cox
2009-03-24 14:28 ` Theodore Tso
2009-03-24 15:18 ` Alan Cox
2009-03-24 17:55 ` Jan Kara
2009-03-24 17:55 ` Linus Torvalds
2009-03-24 18:41 ` Kyle Moffett
2009-03-24 19:17 ` Linus Torvalds
2009-03-24 18:45 ` Theodore Tso
2009-03-24 19:21 ` Linus Torvalds
2009-03-24 19:40 ` Ric Wheeler
2009-03-24 19:55 ` Jeff Garzik
2009-03-25 9:34 ` Benny Halevy
2009-03-25 9:39 ` Jens Axboe
2009-03-25 19:32 ` Jeff Garzik
2009-03-25 19:43 ` Christoph Hellwig
2009-03-25 19:43 ` Jens Axboe
2009-03-25 19:49 ` Ric Wheeler
2009-03-25 19:57 ` Jens Axboe
2009-03-25 20:41 ` Hugh Dickins
2009-03-26 8:57 ` Jens Axboe
2009-03-26 14:47 ` Hugh Dickins
2009-03-26 15:46 ` Jens Axboe
2009-03-26 18:21 ` Hugh Dickins
2009-03-26 18:32 ` Jens Axboe
2009-03-26 19:00 ` Hugh Dickins
2009-03-26 19:03 ` Jens Axboe
2009-03-25 20:16 ` Jeff Garzik
2009-03-25 20:25 ` Ric Wheeler
2009-03-25 21:22 ` James Bottomley
2009-03-26 8:59 ` Jens Axboe
2009-03-30 19:05 ` range-based cache flushing (was Re: Linux 2.6.29) Jeff Garzik
2009-04-01 0:14 ` James Bottomley
2009-04-01 1:28 ` Jeff Garzik
2009-04-01 21:20 ` James Bottomley
2009-03-25 21:27 ` Linux 2.6.29 Benny Halevy
2009-03-25 20:25 ` Jeff Garzik
2009-03-25 20:40 ` Linus Torvalds
2009-03-25 20:57 ` Ric Wheeler
2009-03-25 23:02 ` Linus Torvalds
2009-03-26 0:28 ` Ric Wheeler
2009-03-26 1:36 ` Linus Torvalds
2009-03-25 21:29 ` [PATCH] issue storage device flush via sync_blockdev() (was Re: Linux 2.6.29) Jeff Garzik
2009-03-25 21:56 ` Eric Sandeen
2009-03-25 23:08 ` Jeff Garzik
2009-03-26 2:31 ` Eric Sandeen
2009-03-26 14:19 ` Ric Wheeler
2009-03-26 0:58 ` Ric Wheeler
2009-03-26 1:26 ` Jeff Garzik
2009-03-26 1:33 ` Jeff Garzik
2009-03-26 1:39 ` Ric Wheeler
2009-03-26 8:24 ` Christoph Hellwig
2009-03-27 7:59 ` Jens Axboe
2009-03-25 22:01 ` Alan Cox
2009-03-25 23:12 ` Jeff Garzik
2009-03-26 3:24 ` [PATCH v2] issue storage device flush via sync_blockdev() Jeff Garzik
2009-03-27 2:50 ` Theodore Tso
2009-03-27 3:17 ` Jeff Garzik
2009-03-27 3:30 ` Theodore Tso
2009-03-27 20:50 ` [PATCH] issue storage dev flush from generic file_fsync helper Jeff Garzik
2009-03-29 8:25 ` Christoph Hellwig
2009-03-30 1:25 ` Fernando Luis Vázquez Cao
2009-03-30 1:36 ` [PATCH 1/5] block: Add block_flush_device() Fernando Luis Vázquez Cao
2009-03-30 1:40 ` [PATCH 2/5] ext3: call blkdev_issue_flush on fsync() Fernando Luis Vázquez Cao
2009-03-30 1:51 ` Jeff Garzik
2009-03-30 2:50 ` Fernando Luis Vázquez Cao
2009-03-30 12:04 ` Fernando Luis Vázquez Cao
2009-03-30 12:09 ` [PATCH 1/7] block: Add block_flush_device() Fernando Luis Vázquez Cao
2009-03-30 15:07 ` Bartlomiej Zolnierkiewicz
2009-03-31 6:09 ` Fernando Luis Vázquez Cao
2009-03-30 17:34 ` Linus Torvalds
2009-03-30 17:50 ` Jeff Garzik
2009-03-30 17:55 ` Jens Axboe
2009-03-30 18:27 ` Linus Torvalds
2009-03-30 18:54 ` Jens Axboe
2009-03-30 19:16 ` Jeff Garzik
2009-03-30 19:24 ` Chris Mason
2009-03-30 20:09 ` Andi Kleen
2009-03-30 20:15 ` Chris Mason
2009-03-30 19:59 ` Linus Torvalds
2009-03-30 20:31 ` Jeff Garzik
2009-03-30 19:45 ` Linus Torvalds
2009-03-30 20:17 ` Jens Axboe
2009-03-30 20:36 ` Linus Torvalds
2009-03-31 2:14 ` Ric Wheeler
2009-03-31 2:47 ` Linus Torvalds
2009-03-31 6:04 ` Jens Axboe
2009-03-31 11:15 ` Ric Wheeler
2009-03-31 14:55 ` Linus Torvalds
2009-03-31 15:22 ` Chris Mason
2009-03-31 15:41 ` Ric Wheeler
2009-03-31 16:15 ` Linus Torvalds
2009-03-31 16:43 ` Jens Axboe
2009-03-31 16:57 ` Linus Torvalds
2009-03-31 17:19 ` Jens Axboe
2009-04-01 0:54 ` Tejun Heo
2009-03-31 17:03 ` Jens Axboe
2009-04-01 0:43 ` Tejun Heo
2009-03-31 17:14 ` Ric Wheeler
2009-03-31 19:25 ` Mark Lord
2009-03-31 15:54 ` Linus Torvalds
2009-03-31 16:29 ` Alan Cox
2009-03-31 6:01 ` Jens Axboe
2009-03-30 20:52 ` Mark Lord
2009-03-30 20:57 ` Jeff Garzik
2009-03-31 13:16 ` Chris Mason
2009-03-31 13:23 ` Mark Lord
2009-03-31 13:28 ` Chris Mason
2009-03-31 15:49 ` Eric Sandeen
2009-03-31 16:37 ` Mark Lord
2009-03-30 12:11 ` [PATCH 2/7] ext3: call blkdev_issue_flush() on fsync() Fernando Luis Vázquez Cao
2009-03-30 14:04 ` Theodore Tso
2009-03-30 14:15 ` Chris Mason
2009-03-30 14:33 ` Theodore Tso
2009-03-31 1:26 ` Tejun Heo
2009-03-31 1:58 ` Theodore Tso
2009-03-31 2:14 ` Tejun Heo
2009-03-31 11:18 ` Jens Axboe
2009-03-31 21:29 ` Jeff Garzik
2009-04-01 1:03 ` Tejun Heo
2009-03-30 12:15 ` [PATCH 3/7] ext4: " Fernando Luis Vázquez Cao
2009-03-30 12:18 ` [PATCH 4/7] vfs: call blkdev_issue_flush() from generic file_fsync() helper Fernando Luis Vázquez Cao
2009-03-30 12:22 ` [PATCH 5/7] vfs: Add wbcflush sysfs knob to disable storage device writeback cache flushes Fernando Luis Vázquez Cao
2009-03-30 12:36 ` Jens Axboe
2009-03-30 14:18 ` Fernando Luis Vázquez Cao
2009-03-30 14:35 ` Jens Axboe
2009-03-31 6:49 ` Fernando Luis Vázquez Cao
2009-03-31 10:38 ` Jens Axboe
2009-03-31 11:56 ` Fernando Luis Vázquez Cao
2009-03-30 15:14 ` Bartlomiej Zolnierkiewicz
2009-03-30 17:51 ` Jens Axboe
2009-03-30 17:55 ` Jeff Garzik
2009-03-30 17:59 ` Jens Axboe
2009-03-30 19:09 ` Jeff Garzik
2009-03-30 20:56 ` Bartlomiej Zolnierkiewicz
2009-03-30 22:01 ` Jeff Garzik
2009-03-30 12:33 ` [PATCH 6/7] xfs: propagate issue-flush error code Fernando Luis Vázquez Cao
2009-03-30 15:20 ` Bartlomiej Zolnierkiewicz
2009-03-31 23:37 ` Dave Chinner
2009-04-01 3:52 ` Fernando Luis Vázquez Cao
2009-03-30 12:36 ` [PATCH 7/7] reiserfs: " Fernando Luis Vázquez Cao
2009-03-30 15:25 ` Bartlomiej Zolnierkiewicz
2009-03-30 1:43 ` [PATCH 3/5] ext4: call blkdev_issue_flush on fsync Fernando Luis Vázquez Cao
2009-03-30 1:53 ` [PATCH 4/5] vfs: call blkdev_issue_flush from generic file_fsync helper Fernando Luis Vázquez Cao
2009-03-30 1:59 ` [PATCH 5/5] vfs: Add wbcflush sysfs knob to disable storage device writeback cache flushes Fernando Luis Vázquez Cao
2009-03-25 21:33 ` Linux 2.6.29 Jeff Garzik
2009-03-27 7:57 ` Jens Axboe
2009-03-27 14:13 ` Theodore Tso
2009-03-27 14:35 ` Christoph Hellwig
2009-03-27 15:03 ` Ric Wheeler
2009-03-27 20:38 ` Jeff Garzik
2009-03-28 0:14 ` Alan Cox
2009-03-29 8:25 ` Christoph Hellwig
2009-03-27 19:14 ` Chris Mason
2009-03-27 7:46 ` Jens Axboe
2009-03-31 20:49 ` Jeff Garzik
2009-03-31 22:02 ` Ric Wheeler
2009-03-31 22:22 ` Jeff Garzik
2009-04-01 18:34 ` Mark Lord
2009-03-24 20:24 ` David Rees
2009-03-25 7:30 ` David Rees
2009-03-24 23:03 ` Jesse Barnes
2009-03-25 0:05 ` Arjan van de Ven
2009-03-25 17:59 ` David Rees
2009-03-25 18:40 ` Stephen Clark
2009-03-26 23:53 ` Mark Lord
2009-03-25 2:09 ` Theodore Tso
2009-03-25 3:57 ` Jesse Barnes
2009-03-27 11:27 ` Martin Steigerwald
2009-03-24 12:27 ` Andi Kleen
2009-04-02 14:00 ` Mathieu Desnoyers
2009-03-24 13:02 ` Revert "gro: Fix legacy path napi_complete crash", (was: Re: Linux 2.6.29) Ingo Molnar
2009-03-24 13:12 ` Ingo Molnar
2009-03-24 13:35 ` Herbert Xu
2009-03-24 14:06 ` Ingo Molnar
2009-03-24 14:33 ` Robert Schwebel
2009-03-24 14:39 ` Ingo Molnar
2009-03-24 15:09 ` Herbert Xu
2009-03-24 15:29 ` Sascha Hauer
2009-03-24 15:36 ` Ingo Molnar
2009-03-24 15:47 ` Ingo Molnar
2009-03-24 15:59 ` Herbert Xu
2009-03-24 16:02 ` Ingo Molnar
2009-03-24 19:19 ` Ingo Molnar
2009-03-24 20:54 ` Ingo Molnar
2009-03-24 21:17 ` Revert "gro: Fix legacy path napi_complete crash", David Miller
2009-03-24 22:01 ` Ingo Molnar
2009-03-25 0:33 ` Revert "gro: Fix legacy path napi_complete crash", (was: Re: Linux 2.6.29) Herbert Xu
2009-03-25 0:32 ` Herbert Xu
2009-03-25 2:09 ` Revert "gro: Fix legacy path napi_complete crash", David Miller
2009-03-24 21:36 ` David Miller
2009-03-24 22:47 ` David Miller
2009-03-25 0:24 ` Herbert Xu
2009-03-25 0:23 ` Herbert Xu
2009-03-25 2:11 ` David Miller
2009-03-25 7:33 ` Ingo Molnar
2009-03-25 8:04 ` David Miller
2009-03-25 12:08 ` Herbert Xu
2009-03-25 12:20 ` Ingo Molnar
2009-03-25 12:26 ` Herbert Xu
2009-03-25 22:01 ` Ingo Molnar
2009-03-25 22:20 ` Ken Witherow
2009-03-26 9:07 ` Herbert Xu
2009-03-26 9:25 ` Ingo Molnar
2009-03-25 22:54 ` Jarek Poplawski
2009-03-26 0:03 ` David Miller
2009-03-26 0:10 ` David Miller
2009-03-26 6:43 ` Jarek Poplawski
2009-03-26 7:52 ` David Miller
2009-03-26 7:59 ` Jarek Poplawski
2009-03-26 2:41 ` Herbert Xu
2009-03-26 3:20 ` David Miller
2009-03-26 3:40 ` Herbert Xu
2009-03-26 9:18 ` Jarek Poplawski
2009-03-26 7:39 ` Jarek Poplawski
2009-03-26 7:59 ` David Miller
2009-03-25 9:34 ` Ingo Molnar
2009-03-24 15:22 ` Revert "gro: Fix legacy path napi_complete crash", (was: Re: Linux 2.6.29) Sascha Hauer
2009-03-27 13:35 ` Linux 2.6.29 Hans-Peter Jansen
2009-03-27 14:53 ` Geert Uytterhoeven
2009-03-27 15:46 ` Mike Galbraith
2009-03-27 16:02 ` Linus Torvalds
2009-03-28 7:50 ` Mike Galbraith
2009-03-30 22:00 ` Hans-Peter Jansen
2009-03-30 22:07 ` Arjan van de Ven
2009-03-30 10:18 ` Pavel Machek
2009-03-31 13:33 ` Rafael J. Wysocki
2009-03-31 15:30 ` Hans-Peter Jansen
2009-03-31 19:37 ` Jeff Garzik
2009-03-31 19:47 ` Arjan van de Ven
2009-04-02 19:01 ` Andreas T.Auer
2009-03-27 16:49 ` Frans Pop
[not found] <cj1Ut-1i2-7@gated-at.bofh.it>
[not found] ` <cj8ji-35a-5@gated-at.bofh.it>
[not found] ` <cj8CC-3uO-5@gated-at.bofh.it>
[not found] ` <cjaXP-7vB-17@gated-at.bofh.it>
[not found] ` <cjbhc-7VP-13@gated-at.bofh.it>
[not found] ` <cjbTS-AR-11@gated-at.bofh.it>
[not found] ` <cjcdl-10E-31@gated-at.bofh.it>
[not found] ` <cjeS0-5nC-33@gated-at.bofh.it>
2009-03-25 15:19 ` Bodo Eggert
[not found] ` <cj9oW-4PO-1@gated-at.bofh.it>
[not found] ` <cjkaL-5xg-15@gated-at.bofh.it>
[not found] ` <cjGbn-6Xx-35@gated-at.bofh.it>
[not found] ` <cjGl4-7ak-61@gated-at.bofh.it>
[not found] ` <cjJsv-3Uu-5@gated-at.bofh.it>
[not found] ` <cjKHX-5MF-19@gated-at.bofh.it>
[not found] ` <ck7XP-JA-13@gated-at.bofh.it>
[not found] ` <ck8h7-18H-1@gated-at.bofh.it>
[not found] ` <ck8AA-1y0-7@gated-at.bofh.it>
[not found] ` <ck8Kd-20o-7@gated-at.bofh.it>
[not found] ` <ckaVR-5o8-9@gated-at.bofh.it>
[not found] ` <ckbf4-5M8-7@gated-at.bofh.it>
[not found] ` <ckcE8-845-9@gated-at.bofh.it>
2009-03-27 21:53 ` Bodo Eggert
2009-03-28 6:51 ` Mike Galbraith
2009-03-28 12:12 ` Theodore Tso
[not found] ` <ckdgW-uA-1@gated-at.bofh.it>
[not found] ` <ckdK0-1om-1@gated-at.bofh.it>
[not found] ` <ckiqk-uZ-13@gated-at.bofh.it>
[not found] ` <cklHL-5IW-23@gated-at.bofh.it>
[not found] ` <ckm0Q-6o4-3@gated-at.bofh.it>
[not found] ` <ckmaG-6AC-5@gated-at.bofh.it>
[not found] ` <ckmWO-7Ro-5@gated-at.bofh.it>
[not found] ` <ckn6L-84h-19@gated-at.bofh.it>
[not found] ` <cknzG-ff-7@gated-at.bofh.it>
[not found] ` <cknJk-IB-9@gated-at.bofh.it>
[not found] ` <ckoFm-2eg-3@gated-at.bofh.it>
[not found] ` <ckoYP-2DC-13@gated-at.bofh.it>
2009-03-28 11:53 ` Bodo Eggert
2009-03-29 14:45 ` Pavel Machek
2009-03-29 15:47 ` Linus Torvalds
2009-03-29 19:15 ` Pavel Machek
2009-03-30 14:22 ` Morten P.D. Stevens
[not found] ` <ck93x-2oJ-3@gated-at.bofh.it>
2009-03-27 23:22 ` Bodo Eggert
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=20090325185824.GO32307@mit.edu \
--to=tytso@mit.edu \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=drees76@gmail.com \
--cc=jack@suse.cz \
--cc=jens.axboe@oracle.com \
--cc=jesper@krogh.cc \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox