diff options
author | Jeff Mahoney <jeffm@suse.com> | 2011-10-03 23:22:44 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2012-03-22 01:45:33 +0100 |
commit | b45a9d8b48e5ce534bd222007c43cbf374544f0b (patch) | |
tree | dd08cdb5dd7657a2b6f285246415e777d19e5b86 /fs/btrfs/root-tree.c | |
parent | 200a5c17677e1ee8b78382046f3748c9f5816281 (diff) | |
download | op-kernel-dev-b45a9d8b48e5ce534bd222007c43cbf374544f0b.zip op-kernel-dev-b45a9d8b48e5ce534bd222007c43cbf374544f0b.tar.gz |
btrfs: btrfs_update_root error push-up
btrfs_update_root BUG's when it can't alloc a path, yet it can recover
from a search error. This patch returns -ENOMEM instead.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Diffstat (limited to 'fs/btrfs/root-tree.c')
-rw-r--r-- | fs/btrfs/root-tree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/root-tree.c b/fs/btrfs/root-tree.c index 1fd93d6..1486cf9 100644 --- a/fs/btrfs/root-tree.c +++ b/fs/btrfs/root-tree.c @@ -93,7 +93,9 @@ int btrfs_update_root(struct btrfs_trans_handle *trans, struct btrfs_root unsigned long ptr; path = btrfs_alloc_path(); - BUG_ON(!path); + if (!path) + return -ENOMEM; + ret = btrfs_search_slot(trans, root, key, path, 0, 1); if (ret < 0) goto out; |