Btrfs: do not backup tree roots when fsync
It doesn't make sense to backup tree roots when doing fsync, since during fsync those tree roots have not been consistent on disk. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Reviewed-by: Qu Wenruo <quwenruo.btrfs@gmx.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
c2faff790c
commit
fed3b38114
|
@ -3641,7 +3641,14 @@ int write_all_supers(struct btrfs_fs_info *fs_info, int max_mirrors)
|
|||
u64 flags;
|
||||
|
||||
do_barriers = !btrfs_test_opt(fs_info, NOBARRIER);
|
||||
backup_super_roots(fs_info);
|
||||
|
||||
/*
|
||||
* max_mirrors == 0 indicates we're from commit_transaction,
|
||||
* not from fsync where the tree roots in fs_info have not
|
||||
* been consistent on disk.
|
||||
*/
|
||||
if (max_mirrors == 0)
|
||||
backup_super_roots(fs_info);
|
||||
|
||||
sb = fs_info->super_for_commit;
|
||||
dev_item = &sb->dev_item;
|
||||
|
|
Loading…
Reference in New Issue