[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.0903251600310.3032@localhost.localdomain>
Date: Wed, 25 Mar 2009 16:02:53 -0700 (PDT)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Ric Wheeler <rwheeler@...hat.com>
cc: Jeff Garzik <jeff@...zik.org>, Theodore Tso <tytso@....edu>,
Ingo Molnar <mingo@...e.hu>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Arjan van de Ven <arjan@...radead.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Nick Piggin <npiggin@...e.de>, David Rees <drees76@...il.com>,
Jesper Krogh <jesper@...gh.cc>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: Linux 2.6.29
On Wed, 25 Mar 2009, Ric Wheeler wrote:
>
> One concern with doing this above the file system is that you are not in the
> context of a transaction so you have no clean promises about what is on disk
> and persistent when. Flushing the cache is primitive at best, but the way
> barriers work today is designed to give the transactions some pretty critical
> ordering semantics for journalling file systems at least.
>
> I don't see how you could use this approach to make a really robust, failure
> proof storage system, but it might appear to work most of the time for most
> people :-)
You just do a write barrier after doing all the filesystem writing, and
you return with the guarantee that all the writes the filesystem did are
actually on disk.
No gray areas. No questions. No "might appear to work".
Sure, there might be other writes that got flushed _too_, but nobody
cares. If you have a crash later on, that's always true - you don't get
crashes at nice well-defined points.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists