Messages in this thread | | | From | "" <> | Subject | RE: [PATCH v2] exfat: do not clear VolumeDirty in writeback | Date | Wed, 16 Mar 2022 09:17:42 +0000 |
| |
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
| |