Merge remote-tracking branch 'device-mapper/for-next'
[karo-tx-linux.git] / drivers / md / persistent-data / dm-btree-remove.c
index 2e4c4cb..21ea537 100644 (file)
@@ -165,9 +165,9 @@ static int init_child(struct dm_btree_info *info, struct dm_btree_value_type *vt
        return 0;
 }
 
-static int exit_child(struct dm_btree_info *info, struct child *c)
+static void exit_child(struct dm_btree_info *info, struct child *c)
 {
-       return dm_tm_unlock(info->tm, c->block);
+       dm_tm_unlock(info->tm, c->block);
 }
 
 static void shift(struct btree_node *left, struct btree_node *right, int count)
@@ -249,13 +249,10 @@ static int rebalance2(struct shadow_spine *s, struct dm_btree_info *info,
 
        __rebalance2(info, parent, &left, &right);
 
-       r = exit_child(info, &left);
-       if (r) {
-               exit_child(info, &right);
-               return r;
-       }
+       exit_child(info, &left);
+       exit_child(info, &right);
 
-       return exit_child(info, &right);
+       return 0;
 }
 
 /*
@@ -394,22 +391,9 @@ static int rebalance3(struct shadow_spine *s, struct dm_btree_info *info,
 
        __rebalance3(info, parent, &left, &center, &right);
 
-       r = exit_child(info, &left);
-       if (r) {
-               exit_child(info, &center);
-               exit_child(info, &right);
-               return r;
-       }
-
-       r = exit_child(info, &center);
-       if (r) {
-               exit_child(info, &right);
-               return r;
-       }
-
-       r = exit_child(info, &right);
-       if (r)
-               return r;
+       exit_child(info, &left);
+       exit_child(info, &center);
+       exit_child(info, &right);
 
        return 0;
 }
@@ -433,9 +417,7 @@ static int rebalance_children(struct shadow_spine *s,
 
                memcpy(n, dm_block_data(child),
                       dm_bm_block_size(dm_tm_get_bm(info->tm)));
-               r = dm_tm_unlock(info->tm, child);
-               if (r)
-                       return r;
+               dm_tm_unlock(info->tm, child);
 
                dm_tm_dec(info->tm, dm_block_location(child));
                return 0;