RE: [PATCH v2] exfat: do not clear VolumeDirty in writeback
From: Yuezhang.Mo@xxxxxxxx
Date: Wed Mar 16 2022 - 05:18:15 EST
Hi Namjae, Kohada.Tetsuhiro,
> >> - if (sync)
> >> - sync_dirty_buffer(sbi->boot_bh);
> >> + sync_dirty_buffer(sbi->boot_bh);
> >> +
> >
> > Use __sync_dirty_buffer() with REQ_FUA/REQ_PREFLUSH instead to
> > guarantee a strict write order (including devices).
> Yuezhang, It seems to make sense. Can you check this ?
>
When call exfat_clear_volume_dirty(sb), all dirty buffers had synced by sync_blockdev(), so I think REQ_FUA/REQ_PREFLUSH is not needed.
```
sync_blockdev(sb->s_bdev);
if (exfat_clear_volume_dirty(sb))
```
exfat_clear_volume_dirty() is only called in sync or umount context.
In sync or umount context, all requests will be issued with REQ_SYNC regardless of whether REQ_SYNC is
set when submitting buffer.
And since the request of set VolumeDirty is issued with REQ_SYNC. So for simplicity, call sync_dirty_buffer()
unconditionally.
Best Regards,
Yuezhang Mo