From: Chris Mason <mason@suse.com>
To: Andrew Morton <akpm@zip.com.au>
Cc: linux-kernel@vger.kernel.org, aviro@math.psu.edu
Subject: Re: [RFC] write_super is for syncing
Date: Tue, 12 Mar 2002 17:48:47 -0500 [thread overview]
Message-ID: <212850000.1015973327@tiny> (raw)
In-Reply-To: <3C8E7E0C.816A3527@zip.com.au>
In-Reply-To: <205630000.1015970453@tiny> <3C8E7E0C.816A3527@zip.com.au>
On Tuesday, March 12, 2002 02:15:40 PM -0800 Andrew Morton <akpm@zip.com.au> wrote:
> Chris Mason wrote:
>>
>> Hi everyone,
>>
>> The fact that write_super gets called for both syncs and periodic
>> commits causes problems for the journaled filesystems, since we
>> need to trigger commits on write_super to have sync() behave
>> properly.
>>
>> So, this patch adds a new super operation called commit_super,
>> and extends struct super.s_dirt a little so the filesystem
>> can say: call me on sync() but don't call me from kupdate.
>>
>> if (s_dirt & S_SUPER_DIRTY) call me from kupdate and on sync
>> if (s_dirt & S_SUPER_DIRTY_COMMIT) call me on sync only.
>>
>
> I'm not quite sure why these flags exist? Would it not be
> sufficient to just call ->write_super() inside kupdate,
> and ->commit_super in fsync_dev()? (With a ->write_super
> fallback, of course).
fsync_dev(dev != 0) is easy, you can ignore the dirty flag
and call commit_super on the proper device.
But, the loop in sync_supers(dev == 0) is harder, it expects
some flag it can check, and it expects the callback to the FS
will clear that flag. Adding a new flag seemed like more fun
than redoing the locking and super walk. I'm curious to hear what
Al thinks of it though.
-chris
next prev parent reply other threads:[~2002-03-12 22:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-12 22:00 [RFC] write_super is for syncing Chris Mason
2002-03-12 22:15 ` Andrew Morton
2002-03-12 22:48 ` Chris Mason [this message]
2002-03-12 23:11 ` Chris Mason
2002-03-13 20:49 ` Hugh Dickins
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=212850000.1015973327@tiny \
--to=mason@suse.com \
--cc=akpm@zip.com.au \
--cc=aviro@math.psu.edu \
--cc=linux-kernel@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.