btrfs: Don't BUG_ON errors in __finish_chunk_alloc()
All callers of __finish_chunk_alloc() BUG_ON() return value, so it's trivial for us to always bubble up any errors caught in __finish_chunk_alloc() to be caught there. Signed-off-by: Mark Fasheh <mfasheh@suse.de>
This commit is contained in:
committed by
David Sterba
parent
0678b61851
commit
4ed1d16e94
@@ -3417,16 +3417,18 @@ static int __finish_chunk_alloc(struct btrfs_trans_handle *trans,
|
|||||||
key.offset = chunk_offset;
|
key.offset = chunk_offset;
|
||||||
|
|
||||||
ret = btrfs_insert_item(trans, chunk_root, &key, chunk, item_size);
|
ret = btrfs_insert_item(trans, chunk_root, &key, chunk, item_size);
|
||||||
BUG_ON(ret);
|
|
||||||
|
|
||||||
if (map->type & BTRFS_BLOCK_GROUP_SYSTEM) {
|
if (ret == 0 && map->type & BTRFS_BLOCK_GROUP_SYSTEM) {
|
||||||
|
/*
|
||||||
|
* TODO: Cleanup of inserted chunk root in case of
|
||||||
|
* failure.
|
||||||
|
*/
|
||||||
ret = btrfs_add_system_chunk(chunk_root, &key, chunk,
|
ret = btrfs_add_system_chunk(chunk_root, &key, chunk,
|
||||||
item_size);
|
item_size);
|
||||||
BUG_ON(ret);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kfree(chunk);
|
kfree(chunk);
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user