From: Alex Bligh <alex@alex.org.uk>
To: Jan Kara <jack@suse.cz>
Cc: Jan Kara <jack@suse.cz>,
linux-kernel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>,
Andreas Dilger <adilger.kernel@dilger.ca>,
"Theodore Ts'o" <tytso@mit.edu>, Alex Bligh <alex@alex.org.uk>
Subject: Re: BUG: Failure to send REQ_FLUSH on unmount on ext3, ext4, and FS in general
Date: Mon, 23 May 2011 18:39:23 +0100 [thread overview]
Message-ID: <16968FD306209AF92D4660B9@Ximines.local> (raw)
In-Reply-To: <20110523172906.GH4716@quack.suse.cz>
Jan,
--On 23 May 2011 19:29:06 +0200 Jan Kara <jack@suse.cz> wrote:
> I wish it was this simple ;) The trouble is that clever filesystems -
> e.g. xfs, ext4 - will send the flush when it's needed (after a transaction
> commit). So sending it after flushing the device (which happens from
> generic sync code) would result in two flushes instead of one - not good
> for performance (although these days when we do merging of flush requests
> the result need not be that bad).
>
> The fs might indicate whether it handles barriers itself or whether it
> wants VFS to handle it but that's where it's gets a bit complicated /
> controversial ;).
Well, to "fix" sync(), one could simply look at whether the file system
had ever sent a REQ_FLUSH or REQ_FUA since that FS was mounted. If there
has been one, assume the FS is taking responsibility for sending them.
I'm presuming that if just umount() were altered to do a REQ_FLUSH,
the potential presence of 2 sync()s would not be too offensive, as
unmount isn't exactly time critical, and as Christoph pointed out in
the other thread, a REQ_FLUSH when the write cache has recently been
emptied isn't going to take long.
>> Would there be any interested in these patches if I cooked them up,
>> or did they die because of opposition before rather than apathy?
>
> I guess you might come with some proposal and post it to linux-fsdevel
> (include Al Viro and Christoph Hellwig in CC) and see what happens...
Ah, fsdevel not here. OK. Partly I'd like to understand whether
sync() not flushing write caches on barrier-less file systems
is a good thing or a bad thing. I know barriers are better, but if
writing to (e.g.) FAT32, I'm betting there is little prospect of
barrier support.
--
Alex Bligh
next prev parent reply other threads:[~2011-05-23 17:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-22 19:11 BUG: Failure to send REQ_FLUSH on unmount on ext3, ext4, and FS in general Alex Bligh
2011-05-23 15:55 ` Jan Kara
2011-05-23 17:09 ` Alex Bligh
2011-05-23 17:29 ` Jan Kara
2011-05-23 17:33 ` Christoph Hellwig
2011-05-23 18:56 ` Alex Bligh
2011-05-23 17:39 ` Alex Bligh [this message]
2011-05-23 17:52 ` Christoph Hellwig
2011-05-23 18:50 ` Alex Bligh
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=16968FD306209AF92D4660B9@Ximines.local \
--to=alex@alex.org.uk \
--cc=adilger.kernel@dilger.ca \
--cc=akpm@linux-foundation.org \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=tytso@mit.edu \
/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.