diff options
author | 2017-02-13 14:05:24 +0100 | |
---|---|---|
committer | 2017-02-17 12:03:50 +0100 | |
commit | 81353d50f5274e435105391b669e05aaf62c8609 (patch) | |
tree | d730cd3645cb057c4d57bbe01a39b6d61dea2bd1 | |
parent | btrfs: embed extent_changeset::range_changed to the structure (diff) | |
download | linux-81353d50f5274e435105391b669e05aaf62c8609.tar.gz linux-81353d50f5274e435105391b669e05aaf62c8609.tar.bz2 linux-81353d50f5274e435105391b669e05aaf62c8609.zip |
btrfs: check quota status earlier and don't do unnecessary frees
Status of quotas should be the first check in
btrfs_qgroup_account_extent and we can return immediatelly, no need to
do no-op ulist frees.
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | fs/btrfs/qgroup.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 627126daf25b..0d3c9a1062b0 100644 --- a/fs/btrfs/qgroup.c +++ b/fs/btrfs/qgroup.c @@ -1945,13 +1945,14 @@ btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans, u64 nr_old_roots = 0; int ret = 0; + if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) + return 0; + if (new_roots) nr_new_roots = new_roots->nnodes; if (old_roots) nr_old_roots = old_roots->nnodes; - if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) - goto out_free; BUG_ON(!fs_info->quota_root); trace_btrfs_qgroup_account_extent(fs_info, bytenr, num_bytes, |