btrfs: unify handling of return values of btrfs_insert_empty_items()
authorDavid Sterba <dsterba@suse.com>
Wed, 24 Jan 2024 14:59:36 +0000 (15:59 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 4 Mar 2024 15:24:48 +0000 (16:24 +0100)
The error values returned by btrfs_insert_empty_items() are following
the common patter of 0/-errno, but some callers check for a value > 0,
which can't happen. Document that and update calls to not expect
positive values.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.c
fs/btrfs/file-item.c
fs/btrfs/uuid-tree.c

index 33145da449cc8db3b248d3ec5ea7bba878277992..c878ca466b7c8792bc456f4c2124c0ea0811cfc0 100644 (file)
@@ -4280,6 +4280,10 @@ void btrfs_setup_item_for_insert(struct btrfs_trans_handle *trans,
 /*
  * Given a key and some data, insert items into the tree.
  * This does all the path init required, making room in the tree if needed.
+ *
+ * Returns: 0        on success
+ *          -EEXIST  if the first key already exists
+ *          < 0      on other errors
  */
 int btrfs_insert_empty_items(struct btrfs_trans_handle *trans,
                            struct btrfs_root *root,
index f7ef9fa469b946e7329f6ee40504e57c113bfae0..e58fb5347e65ee98db1e5aacb0bd35ad0ffb977b 100644 (file)
@@ -176,7 +176,6 @@ int btrfs_insert_hole_extent(struct btrfs_trans_handle *trans,
                                      sizeof(*item));
        if (ret < 0)
                goto out;
-       BUG_ON(ret); /* Can't happen */
        leaf = path->nodes[0];
        item = btrfs_item_ptr(leaf, path->slots[0],
                              struct btrfs_file_extent_item);
@@ -1226,8 +1225,6 @@ insert:
                                      ins_size);
        if (ret < 0)
                goto out;
-       if (WARN_ON(ret != 0))
-               goto out;
        leaf = path->nodes[0];
 csum:
        item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_csum_item);
index b8c6e46dd499a5effb392af50b56442d110b9ce2..b0aff297d67d23e2e77bf8c2508ee4afa053133f 100644 (file)
@@ -113,7 +113,7 @@ int btrfs_uuid_tree_add(struct btrfs_trans_handle *trans, u8 *uuid, u8 type,
 
        ret = btrfs_insert_empty_item(trans, uuid_root, path, &key,
                                      sizeof(subid_le));
-       if (ret >= 0) {
+       if (ret == 0) {
                /* Add an item for the type for the first time */
                eb = path->nodes[0];
                slot = path->slots[0];