On Thu, Apr 10, 2025 at 6:41 PM Yuezhang.Mo@xxxxxxxx <Yuezhang.Mo@xxxxxxxx> wrote: > > xfstests generic/482 tests the file system consistency after each > FUA operation. It fails when run on exfat. > > exFAT clears the volume dirty flag with a FUA operation during sync. > Since s_lock is not held when data is being written to a file, sync > can be executed at the same time. When data is being written to a > file, the FAT chain is updated first, and then the file size is > updated. If sync is executed between updating them, the length of the > FAT chain may be inconsistent with the file size. > > To avoid the situation where the file system is inconsistent but the > volume dirty flag is cleared, this commit moves the clearing of the > volume dirty flag from exfat_fs_sync() to exfat_put_super(), so that > the volume dirty flag is not cleared until unmounting. After the > move, there is no additional action during sync, so exfat_fs_sync() > can be deleted. > > Signed-off-by: Yuezhang Mo <Yuezhang.Mo@xxxxxxxx> Applied it to #dev with Sunjong's reviewed-by tag. Thanks!