Btrfs: fix some error codes in btrfs_qgroup_inherit()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 30 Jul 2012 08:16:10 +0000 (02:16 -0600)
committerChris Mason <chris.mason@oracle.com>
Tue, 28 Aug 2012 20:53:24 +0000 (16:53 -0400)
These are returning zero when it should be returning a negative error
code.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
fs/btrfs/qgroup.c

index bc424ae5a81a49ef15cadb0159812f80acf0221f..229ef8927e6b809d58efe942fa05920d3cca624f 100644 (file)
@@ -1369,8 +1369,10 @@ int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans,
 
        if (srcid) {
                srcgroup = find_qgroup_rb(fs_info, srcid);
-               if (!srcgroup)
+               if (!srcgroup) {
+                       ret = -EINVAL;
                        goto unlock;
+               }
                dstgroup->rfer = srcgroup->rfer - level_size;
                dstgroup->rfer_cmpr = srcgroup->rfer_cmpr - level_size;
                srcgroup->excl = level_size;
@@ -1379,8 +1381,10 @@ int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans,
                qgroup_dirty(fs_info, srcgroup);
        }
 
-       if (!inherit)
+       if (!inherit) {
+               ret = -EINVAL;
                goto unlock;
+       }
 
        i_qgroups = (u64 *)(inherit + 1);
        for (i = 0; i < inherit->num_qgroups; ++i) {