diff mbox series

btrfs: no need to run delayed refs after commit_fs_roots

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

Commit Message

David Sterba Jan. 8, 2021, 4:23 p.m. UTC
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(-)

Comments

Nikolay Borisov Jan. 11, 2021, 3:54 p.m. UTC | #1
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 mbox series

Patch

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.