From: Al Viro <viro@ZenIV.linux.org.uk>
To: Christoph Hellwig <hch@lst.de>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 0/12] make ->sync_fs mandatory
Date: Mon, 8 Jun 2009 15:45:01 +0100 [thread overview]
Message-ID: <20090608144501.GK8633@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20090608080252.GA20735@lst.de>
On Mon, Jun 08, 2009 at 10:02:52AM +0200, Christoph Hellwig wrote:
> Currently the superblock methods are a bit confusing. There is the
> newer ->sync_fs method which is unconditionally called from
> __sync_filesystem for data integrity writebacks. And there is the older
> ->write_super which is called from pdflush for the periodic superblock
> writeback, but also from __sync_filesystem just before calling
> ->sync_fs. (And still from file_fsync, but that is about to go away).
>
> This series makes sure all filesystems that need superblock writeouts
> define a ->sync_fs so we can stop calling ->write_super for the data
> integrity writeback. This means the presence of ->write_super indicates
> a filesystem does want periodic superblock writeback and can implement
> these independently from the data integrity writeback. It also means
> we don't need to bother with possible s_dirt races for the data
> integrity syncs.
>
> This patch series first adds ->sync_fs methods to all filesystems having
> ->write_super, often refactoring the code in that are (and also
> preparing the ->write_super instances for moving MS_RDONLY checking into
> the caller), then it makes sure the existing ->sync_fs instaces cover
> the work previously done in ->write_super for the two cases where they
> differed widely, and lastly removes the call to ->write_super from
> __sync_filesystem.
Applied. FWIW, file_fsync() is nearly gone; the last remnants are exofs,
hfs and hfsplus. Is there any sane way to keep track of dirty metadata
blocks there? Or is "just flush all dirty buffer_head for the device"
really the best we can do?
next prev parent reply other threads:[~2009-06-08 14:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-08 8:02 [PATCH 0/12] make ->sync_fs mandatory Christoph Hellwig
2009-06-08 8:03 ` [PATCH 1/12] affs: add ->sync_fs Christoph Hellwig
2009-06-08 8:03 ` [PATCH 2/12] bfs: " Christoph Hellwig
2009-06-08 8:03 ` [PATCH 3/12] exofs: " Christoph Hellwig
2009-06-09 13:03 ` Boaz Harrosh
2009-06-08 8:04 ` [PATCH 4/12] ext2: " Christoph Hellwig
2009-06-08 8:04 ` [PATCH 0/12] make ->sync_fs mandatory Christoph Hellwig
2009-06-08 8:04 ` [PATCH 6/12] hfs: add ->sync_fs Christoph Hellwig
2009-06-08 8:05 ` [PATCH 7/12] hfsplus: " Christoph Hellwig
2009-06-08 8:07 ` [PATCH 8/12] sysv: " Christoph Hellwig
2009-06-08 8:08 ` [PATCH 9/12] ufs: " Christoph Hellwig
2009-06-08 8:08 ` [PATCH 10/12] jffs2: call jffs2_write_super from jffs2_sync_fs Christoph Hellwig
2009-06-08 8:08 ` [PATCH 11/12] nilfs2: call nilfs2_write_super from nilfs2_sync_fs Christoph Hellwig
2009-06-08 8:08 ` [PATCH 12/12] remove the call to ->write_super in __sync_filesystem Christoph Hellwig
2009-06-08 14:45 ` Al Viro [this message]
2009-06-09 12:55 ` [PATCH 0/12] make ->sync_fs mandatory Boaz Harrosh
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=20090608144501.GK8633@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=hch@lst.de \
--cc=linux-fsdevel@vger.kernel.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.