diff options
author | Mark Fasheh <mfasheh@suse.com> | 2011-07-13 10:38:47 -0700 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2011-07-14 14:14:44 -0700 |
commit | d8926bb3badd36670fecf2de4a062c78bc37430b (patch) | |
tree | 60c8194f9fbba47ff9535b62b9fe439239997e9c /fs/btrfs/file.c | |
parent | 8d86e5f91440aa56a5df516bf58fe3883552ad56 (diff) | |
download | op-kernel-dev-d8926bb3badd36670fecf2de4a062c78bc37430b.zip op-kernel-dev-d8926bb3badd36670fecf2de4a062c78bc37430b.tar.gz |
btrfs: don't BUG_ON btrfs_alloc_path() errors
This patch fixes many callers of btrfs_alloc_path() which BUG_ON allocation
failure. All the sites that are fixed in this patch were checked by me to
be fairly trivial to fix because of at least one of two criteria:
- Callers of the function catch errors from it already so bubbling the
error up will be handled.
- Callers of the function might BUG_ON any nonzero return code in which
case there is no behavior changed (but we still got to remove a BUG_ON)
The following functions were updated:
btrfs_lookup_extent, alloc_reserved_tree_block, btrfs_remove_block_group,
btrfs_lookup_csums_range, btrfs_csum_file_blocks, btrfs_mark_extent_written,
btrfs_inode_by_name, btrfs_new_inode, btrfs_symlink,
insert_reserved_file_extent, and run_delalloc_nocow
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r-- | fs/btrfs/file.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index fa4ef18..23d1d81 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -855,7 +855,8 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans, btrfs_drop_extent_cache(inode, start, end - 1, 0); path = btrfs_alloc_path(); - BUG_ON(!path); + if (!path) + return -ENOMEM; again: recow = 0; split = start; |