diff options
author | Misono, Tomohiro <misono.tomohiro@jp.fujitsu.com> | 2017-08-30 16:33:16 +0900 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-09-26 14:52:57 +0200 |
commit | c2faff790ccd11ea5be8e3ca99713f116fcd6030 (patch) | |
tree | 181c8e3c5283150a48bf8c2f1aa1335692cc196f /fs/readdir.c | |
parent | 78ad4ce014d025f41b8dde3a81876832ead643cf (diff) | |
download | linux-c2faff790ccd11ea5be8e3ca99713f116fcd6030.tar.gz linux-c2faff790ccd11ea5be8e3ca99713f116fcd6030.tar.bz2 linux-c2faff790ccd11ea5be8e3ca99713f116fcd6030.zip |
btrfs: remove BTRFS_FS_QUOTA_DISABLING flag
Currently, "btrfs quota enable" would fail after "btrfs quota disable" on
the first time with syslog output "qgroup_rescan_init failed with -22", but
it would succeed on the second time.
When "quota disable" is called, BTRFS_FS_QUOTA_DISABLING flag bit will be
set in fs_info->flags in btrfs_quota_disable(), but it will not be droppd
in btrfs_run_qgroups() (which is called in btrfs_commit_transaction())
because quota_root has already been freed. If "quota enable" is called
after that, both BTRFS_FS_QUOTA_DISABLING and BTRFS_FS_QUOTA_ENABLED flag
would be dropped in the btrfs_run_qgroups() since quota_root is not NULL.
This leads to the failure of "quota enable" on the first time.
BTRFS_FS_QUOTA_DISABLING flag is not used outside of "quota disable"
context and is equivalent to whether quota_root is NULL or not.
btrfs_run_qgroups() checks whether quota_root is NULL or not in the first
place.
So, let's remove BTRFS_FS_QUOTA_DISABLING flag.
Signed-off-by: Tomohiro Misono <misono.tomohiro@jp.fujitsu.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/readdir.c')
0 files changed, 0 insertions, 0 deletions