Pārlūkot izejas kodu

btrfs: Remove BUG_ON from __finish_chunk_alloc()

btrfs_alloc_chunk() unconditionally BUGs on any error returned from
__finish_chunk_alloc() so there's no need for two BUG_ON lines. Remove the
one from __finish_chunk_alloc().

Signed-off-by: Mark Fasheh <mfasheh@suse.de>
Mark Fasheh 13 gadi atpakaļ
vecāks
revīzija
3acd395317
1 mainītis faili ar 3 papildinājumiem un 1 dzēšanām
  1. 3 1
      fs/btrfs/volumes.c

+ 3 - 1
fs/btrfs/volumes.c

@@ -3383,7 +3383,8 @@ static int __finish_chunk_alloc(struct btrfs_trans_handle *trans,
 		device = map->stripes[index].dev;
 		device = map->stripes[index].dev;
 		device->bytes_used += stripe_size;
 		device->bytes_used += stripe_size;
 		ret = btrfs_update_device(trans, device);
 		ret = btrfs_update_device(trans, device);
-		BUG_ON(ret);
+		if (ret)
+			goto out_free;
 		index++;
 		index++;
 	}
 	}
 
 
@@ -3430,6 +3431,7 @@ static int __finish_chunk_alloc(struct btrfs_trans_handle *trans,
 					     item_size);
 					     item_size);
 	}
 	}
 
 
+out_free:
 	kfree(chunk);
 	kfree(chunk);
 	return ret;
 	return ret;
 }
 }