summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dir-item.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2007-06-22 20:16:25 +0200
committerDavid Woodhouse <dwmw2@hera.kernel.org>2007-06-22 20:16:25 +0200
commit54aa1f4dfdacd60a19c4471220b24e581be6f774 (patch)
tree1462277822cc63c00ad31b522457363a5c6be6ab /fs/btrfs/dir-item.c
parentBtrfs: Switch to libcrc32c to avoid problems with cryptomgr on highmem machines (diff)
downloadlinux-54aa1f4dfdacd60a19c4471220b24e581be6f774.tar.xz
linux-54aa1f4dfdacd60a19c4471220b24e581be6f774.zip
Btrfs: Audit callers and return codes to make sure -ENOSPC gets up the stack
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/dir-item.c')
-rw-r--r--fs/btrfs/dir-item.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/btrfs/dir-item.c b/fs/btrfs/dir-item.c
index ff10cf5a8422..d5db8bdea3d8 100644
--- a/fs/btrfs/dir-item.c
+++ b/fs/btrfs/dir-item.c
@@ -47,6 +47,8 @@ static struct btrfs_dir_item *insert_with_overflow(struct btrfs_trans_handle
if (ret)
return ERR_PTR(ret);
}
+ if (ret < 0)
+ return ERR_PTR(ret);
WARN_ON(ret > 0);
leaf = btrfs_buffer_leaf(path->nodes[0]);
item = leaf->items + path->slots[0];
@@ -225,14 +227,13 @@ int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans,
struct btrfs_leaf *leaf;
u32 sub_item_len;
u32 item_len;
- int ret;
+ int ret = 0;
leaf = btrfs_buffer_leaf(path->nodes[0]);
sub_item_len = sizeof(*di) + btrfs_dir_name_len(di);
item_len = btrfs_item_size(leaf->items + path->slots[0]);
if (sub_item_len == btrfs_item_size(leaf->items + path->slots[0])) {
ret = btrfs_del_item(trans, root, path);
- BUG_ON(ret);
} else {
char *ptr = (char *)di;
char *start = btrfs_item_ptr(leaf, path->slots[0], char);
@@ -240,7 +241,6 @@ int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans,
item_len - (ptr + sub_item_len - start));
ret = btrfs_truncate_item(trans, root, path,
item_len - sub_item_len);
- BUG_ON(ret);
}
return 0;
}