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