[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <HK2PR04MB38910EE3467822EBAB4CC79681099@HK2PR04MB3891.apcprd04.prod.outlook.com>
Date: Tue, 8 Mar 2022 10:55:28 +0000
From: "Yuezhang.Mo@...y.com" <Yuezhang.Mo@...y.com>
To: Namjae Jeon <linkinjeon@...nel.org>
CC: "sj1557.seo@...sung.com" <sj1557.seo@...sung.com>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Andy.Wu@...y.com" <Andy.Wu@...y.com>,
"Wataru.Aoyama@...y.com" <Wataru.Aoyama@...y.com>,
"Kohada.Tetsuhiro@...MitsubishiElectric.co.jp"
<Kohada.Tetsuhiro@...MitsubishiElectric.co.jp>
Subject: RE: [PATCH] exfat: do not clear VolumeDirty in writeback
Hi Namjae Jeon,
> > +int exfat_clear_volume_dirty(struct super_block *sb) {
> > + if (sb->s_flags & (SB_SYNCHRONOUS | SB_DIRSYNC))
> How about moving exfat_clear_volume_dirty() to IS_DIRSYNC() check in each
> operations instead of this check?
I found that VolumeDirty keeps VOL_DIRTY until sync or umount regardless of sync or dirsync enabled,
because there is no paired call to exfat_set_volume_dirty()/exfat_clear_volume_dirty() in __exfat_write_inode().
If exfat_set_volume_dirty()/exfat_clear_volume_dirty() is called in pairs in __exfat_write_inode(),
it will cause frequent writing of bootsector.
So, how about removing exfat_clear_volume_dirty() from each operations, except in exfat_sync_fs()?
Best Regards,
Yuezhang Mo
Powered by blists - more mailing lists