diff options
| -rw-r--r-- | fs/btrfs/qgroup.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 99f2b9ce0f15..c25dc47210a3 100644 --- a/fs/btrfs/qgroup.c +++ b/fs/btrfs/qgroup.c | |||
| @@ -2786,13 +2786,20 @@ qgroup_rescan_init(struct btrfs_fs_info *fs_info, u64 progress_objectid, | |||
| 2786 | 2786 | ||
| 2787 | if (!init_flags) { | 2787 | if (!init_flags) { |
| 2788 | /* we're resuming qgroup rescan at mount time */ | 2788 | /* we're resuming qgroup rescan at mount time */ |
| 2789 | if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN)) | 2789 | if (!(fs_info->qgroup_flags & |
| 2790 | BTRFS_QGROUP_STATUS_FLAG_RESCAN)) { | ||
| 2790 | btrfs_warn(fs_info, | 2791 | btrfs_warn(fs_info, |
| 2791 | "qgroup rescan init failed, qgroup is not enabled"); | 2792 | "qgroup rescan init failed, qgroup is not enabled"); |
| 2792 | else if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_ON)) | 2793 | ret = -EINVAL; |
| 2794 | } else if (!(fs_info->qgroup_flags & | ||
| 2795 | BTRFS_QGROUP_STATUS_FLAG_ON)) { | ||
| 2793 | btrfs_warn(fs_info, | 2796 | btrfs_warn(fs_info, |
| 2794 | "qgroup rescan init failed, qgroup rescan is not queued"); | 2797 | "qgroup rescan init failed, qgroup rescan is not queued"); |
| 2795 | return -EINVAL; | 2798 | ret = -EINVAL; |
| 2799 | } | ||
| 2800 | |||
| 2801 | if (ret) | ||
| 2802 | return ret; | ||
| 2796 | } | 2803 | } |
| 2797 | 2804 | ||
| 2798 | mutex_lock(&fs_info->qgroup_rescan_lock); | 2805 | mutex_lock(&fs_info->qgroup_rescan_lock); |
