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