{
        int ret = 0;
 
-       if (!init_flags &&
-           (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) ||
-            !(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_ON))) {
-               ret = -EINVAL;
-               goto err;
+       if (!init_flags) {
+               /* we're resuming qgroup rescan at mount time */
+               if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN))
+                       btrfs_warn(fs_info,
+                       "qgroup rescan init failed, qgroup is not enabled");
+               else if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_ON))
+                       btrfs_warn(fs_info,
+                       "qgroup rescan init failed, qgroup rescan is not queued");
+               return -EINVAL;
        }
 
        mutex_lock(&fs_info->qgroup_rescan_lock);
        spin_lock(&fs_info->qgroup_lock);
 
        if (init_flags) {
-               if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN)
+               if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) {
+                       btrfs_warn(fs_info,
+                                  "qgroup rescan is already in progress");
                        ret = -EINPROGRESS;
-               else if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_ON))
+               } else if (!(fs_info->qgroup_flags &
+                            BTRFS_QGROUP_STATUS_FLAG_ON)) {
+                       btrfs_warn(fs_info,
+                       "qgroup rescan init failed, qgroup is not enabled");
                        ret = -EINVAL;
+               }
 
                if (ret) {
                        spin_unlock(&fs_info->qgroup_lock);
                        mutex_unlock(&fs_info->qgroup_rescan_lock);
-                       goto err;
+                       return ret;
                }
                fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_RESCAN;
        }
        btrfs_init_work(&fs_info->qgroup_rescan_work,
                        btrfs_qgroup_rescan_helper,
                        btrfs_qgroup_rescan_worker, NULL, NULL);
-
-       if (ret) {
-err:
-               btrfs_info(fs_info, "qgroup_rescan_init failed with %d", ret);
-               return ret;
-       }
-
        return 0;
 }