xfs
[Top] [All Lists]

Re: [PATCH 1/5] xfs: remove ->write_super and stop maintaining ->s_dirt

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 1/5] xfs: remove ->write_super and stop maintaining ->s_dirt
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Sun, 10 May 2009 11:25:23 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20090426140707.533370000@xxxxxxxxxxxxxxxxxxxxxx>
References: <20090426140305.113371000@xxxxxxxxxxxxxxxxxxxxxx> <20090426140707.533370000@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.21 (Macintosh/20090302)
Christoph Hellwig wrote:

> the write_super method is used for
>
>  (1) writing back the superblock periodically from pdflush
>  (2) called just before ->sync_fs for data integerity syncs
>  (3) just before ->put_super
>
> We don't need (1) because we have our own peridoc writeout through xfssyncd,
> we don't need (2) because xfs_fs_sync_fs performs a proper synchronous
> superblock writeout after all other data and metadata has been written out,
> and we don't need (3) because we synchronously write the superblock in
> ->put_super once the filesystem is fully shut down.
>
> Also remove ->s_dirt tracking as it's only used to decide when too call
> ->write_super.
>
Just to double check, what about sync_filesystems():

                if (sb->s_root && (wait || sb->s_dirt))
                        sb->s_op->sync_fs(sb, wait);

if we lose s_dirt does that mean we are potentially doing one less ->sync_fs 
here when called with wait = 0, and is that ok?  (/me waves hands about
sync; sync; sync magic) :)

-Eric

<Prev in Thread] Current Thread [Next in Thread>