Message ID | 20210108162327.15028-1-dsterba@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: no need to run delayed refs after commit_fs_roots | expand |
On 8.01.21 г. 18:23 ч., David Sterba wrote: > The inode number cache has been removed in this dev cycle, there's one > more leftover. We don't need to run the delayed refs again after > commit_fs_roots as stated in the comment, because btrfs_save_ino_cache > is no more since 5297199a8bca ("btrfs: remove inode number cache > feature"). > > Nothing else between commit_fs_roots and btrfs_qgroup_account_extents > could create new delayed refs so the qgroup consistency should be safe. > > Signed-off-by: David Sterba <dsterba@suse.com> Reviewed-by: Nikolay Borisov <nborisov@suse.com>
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 4ffe66164fa3..3bcb5444536e 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -2265,14 +2265,6 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans) */ btrfs_free_log_root_tree(trans, fs_info); - /* - * commit_fs_roots() can call btrfs_save_ino_cache(), which generates - * new delayed refs. Must handle them or qgroup can be wrong. - */ - ret = btrfs_run_delayed_refs(trans, (unsigned long)-1); - if (ret) - goto unlock_tree_log; - /* * Since fs roots are all committed, we can get a quite accurate * new_roots. So let's do quota accounting.
The inode number cache has been removed in this dev cycle, there's one more leftover. We don't need to run the delayed refs again after commit_fs_roots as stated in the comment, because btrfs_save_ino_cache is no more since 5297199a8bca ("btrfs: remove inode number cache feature"). Nothing else between commit_fs_roots and btrfs_qgroup_account_extents could create new delayed refs so the qgroup consistency should be safe. Signed-off-by: David Sterba <dsterba@suse.com> --- There's the patchset https://lore.kernel.org/linux-btrfs/cover.1608319304.git.josef@toxicpanda.com/ to remove several other run delayed ref calls. I haven't spotted any problems so this patch can go in now as it's related to the inode cache removal. The patchset unifies the location of delayed refs calls so this one would be an outlier anyway. fs/btrfs/transaction.c | 8 -------- 1 file changed, 8 deletions(-)