From: Jeff Mahoney <jeffm@suse.com>
To: BtrFS List <linux-btrfs@vger.kernel.org>
Cc: Chris Mason <chris.mason@oracle.com>
Subject: [patch 48/65] btrfs: del_ptr should return void
Date: Mon, 03 Oct 2011 23:23:18 -0400 [thread overview]
Message-ID: <20111004032305.416414332@suse.com> (raw)
In-Reply-To: 20111004032230.458853274@suse.com
With fixup_low_keys now returning void, there are no error conditions
for del_ptr to report so it should return void. We set ret = 0 explicitly
in btrfs_del_items but I'm not convinced that the error handling code
already there is correct.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
fs/btrfs/ctree.c | 39 +++++++++++++--------------------------
1 file changed, 13 insertions(+), 26 deletions(-)
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -36,7 +36,7 @@ static int balance_node_right(struct btr
struct btrfs_root *root,
struct extent_buffer *dst_buf,
struct extent_buffer *src_buf);
-static int del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root,
+static void del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root,
struct btrfs_path *path, int level, int slot);
struct btrfs_path *btrfs_alloc_path(void)
@@ -994,10 +994,7 @@ static noinline int balance_level(struct
if (btrfs_header_nritems(right) == 0) {
clean_tree_block(trans, root, right);
btrfs_tree_unlock(right);
- wret = del_ptr(trans, root, path, level + 1, pslot +
- 1);
- if (wret)
- ret = wret;
+ del_ptr(trans, root, path, level + 1, pslot + 1);
root_sub_used(root, right->len);
btrfs_free_tree_block(trans, root, right, 0, 1);
free_extent_buffer(right);
@@ -1035,9 +1032,7 @@ static noinline int balance_level(struct
if (btrfs_header_nritems(mid) == 0) {
clean_tree_block(trans, root, mid);
btrfs_tree_unlock(mid);
- wret = del_ptr(trans, root, path, level + 1, pslot);
- if (wret)
- ret = wret;
+ del_ptr(trans, root, path, level + 1, pslot);
root_sub_used(root, mid->len);
btrfs_free_tree_block(trans, root, mid, 0, 1);
free_extent_buffer(mid);
@@ -3684,12 +3679,11 @@ int btrfs_insert_item(struct btrfs_trans
* the tree should have been previously balanced so the deletion does not
* empty a node.
*/
-static int del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root,
- struct btrfs_path *path, int level, int slot)
+static void del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root,
+ struct btrfs_path *path, int level, int slot)
{
struct extent_buffer *parent = path->nodes[level];
u32 nritems;
- int ret = 0;
nritems = btrfs_header_nritems(parent);
if (slot != nritems - 1) {
@@ -3712,7 +3706,6 @@ static int del_ptr(struct btrfs_trans_ha
fixup_low_keys(trans, root, path, &disk_key, level + 1);
}
btrfs_mark_buffer_dirty(parent);
- return ret;
}
/*
@@ -3725,17 +3718,13 @@ static int del_ptr(struct btrfs_trans_ha
* The path must have already been setup for deleting the leaf, including
* all the proper balancing. path->nodes[1] must be locked.
*/
-static noinline int btrfs_del_leaf(struct btrfs_trans_handle *trans,
- struct btrfs_root *root,
- struct btrfs_path *path,
- struct extent_buffer *leaf)
+static noinline void btrfs_del_leaf(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root,
+ struct btrfs_path *path,
+ struct extent_buffer *leaf)
{
- int ret;
-
WARN_ON(btrfs_header_generation(leaf) != trans->transid);
- ret = del_ptr(trans, root, path, 1, path->slots[1]);
- if (ret)
- return ret;
+ del_ptr(trans, root, path, 1, path->slots[1]);
/*
* btrfs_free_extent is expensive, we want to make sure we
@@ -3746,7 +3735,6 @@ static noinline int btrfs_del_leaf(struc
root_sub_used(root, leaf->len);
btrfs_free_tree_block(trans, root, leaf, 0, 1);
- return 0;
}
/*
* delete the item at the leaf level in path. If that empties
@@ -3803,8 +3791,7 @@ int btrfs_del_items(struct btrfs_trans_h
} else {
btrfs_set_path_blocking(path);
clean_tree_block(trans, root, leaf);
- ret = btrfs_del_leaf(trans, root, path, leaf);
- BUG_ON(ret);
+ btrfs_del_leaf(trans, root, path, leaf);
}
} else {
int used = leaf_space_used(leaf, 0, nritems);
@@ -3840,9 +3827,9 @@ int btrfs_del_items(struct btrfs_trans_h
if (btrfs_header_nritems(leaf) == 0) {
path->slots[1] = slot;
- ret = btrfs_del_leaf(trans, root, path, leaf);
- BUG_ON(ret);
+ btrfs_del_leaf(trans, root, path, leaf);
free_extent_buffer(leaf);
+ ret = 0;
} else {
/* if we're still in the path, make sure
* we're dirty. Otherwise, one of the
next prev parent reply other threads:[~2011-10-04 3:23 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-04 3:22 [patch 00/65] Error handling patchset v3 Jeff Mahoney
2011-10-04 3:22 ` [patch 01/65] btrfs: Add btrfs_panic() Jeff Mahoney
2011-10-10 16:35 ` David Sterba
2011-10-10 16:42 ` David Sterba
2011-10-10 16:54 ` Jeff Mahoney
2011-10-04 3:22 ` [patch 02/65] btrfs: Catch locking failures in {set,clear}_extent_bit Jeff Mahoney
2011-10-04 3:22 ` [patch 03/65] btrfs: Panic on bad rbtree operations Jeff Mahoney
2011-10-04 3:22 ` [patch 04/65] btrfs: Simplify btrfs_insert_root Jeff Mahoney
2011-10-04 3:22 ` [patch 05/65] btrfs: set_extent_bit error push-up Jeff Mahoney
2011-10-04 3:22 ` [patch 06/65] btrfs: lock_extent " Jeff Mahoney
2011-10-04 3:22 ` [patch 07/65] btrfs: clear_extent_bit " Jeff Mahoney
2011-10-04 3:22 ` [patch 08/65] btrfs: unlock_extent " Jeff Mahoney
2011-10-04 3:22 ` [patch 09/65] btrfs: pin_down_extent should return void Jeff Mahoney
2011-10-04 3:22 ` [patch 10/65] btrfs: btrfs_pin_extent error push-up Jeff Mahoney
2011-10-04 3:22 ` [patch 11/65] btrfs: btrfs_drop_snapshot should return int Jeff Mahoney
2011-10-04 3:22 ` [patch 12/65] btrfs: btrfs_start_transaction non-looped error push-up Jeff Mahoney
2011-10-04 3:22 ` [patch 13/65] btrfs: find_and_setup_root " Jeff Mahoney
2011-10-04 3:22 ` [patch 14/65] btrfs: btrfs_update_root " Jeff Mahoney
2011-10-04 3:22 ` [patch 15/65] btrfs: set_range_writeback should return void Jeff Mahoney
2011-10-04 3:22 ` [patch 16/65] btrfs: wait_on_state " Jeff Mahoney
2011-10-04 3:22 ` [patch 17/65] btrfs: wait_extent_bit " Jeff Mahoney
2011-10-04 3:22 ` [patch 18/65] btrfs: __unlock_for_delalloc " Jeff Mahoney
2011-10-04 3:22 ` [patch 19/65] btrfs: check_page_uptodate " Jeff Mahoney
2011-10-04 3:22 ` [patch 20/65] btrfs: check_page_locked " Jeff Mahoney
2011-10-04 3:22 ` [patch 21/65] btrfs: check_page_writeback " Jeff Mahoney
2011-10-04 3:22 ` [patch 22/65] btrfs: clear_extent_buffer_dirty " Jeff Mahoney
2011-10-04 3:22 ` [patch 23/65] btrfs: btrfs_cleanup_fs_uuids " Jeff Mahoney
2011-10-04 3:22 ` [patch 24/65] btrfs: run_scheduled_bios " Jeff Mahoney
2011-10-04 3:22 ` [patch 25/65] btrfs: btrfs_close_extra_devices " Jeff Mahoney
2011-10-04 3:22 ` [patch 26/65] btrfs: schedule_bio " Jeff Mahoney
2011-10-04 3:22 ` [patch 27/65] btrfs: fill_device_from_item " Jeff Mahoney
2011-10-04 3:22 ` [patch 28/65] btrfs: btrfs_queue_worker " Jeff Mahoney
2011-10-04 3:22 ` [patch 29/65] btrfs: run_ordered_completions " Jeff Mahoney
2011-10-04 3:23 ` [patch 30/65] btrfs: btrfs_stop_workers " Jeff Mahoney
2011-10-04 3:23 ` [patch 31/65] btrfs: btrfs_requeue_work " Jeff Mahoney
2011-10-04 3:23 ` [patch 32/65] btrfs: tree-log: btrfs_end_log_trans " Jeff Mahoney
2011-10-04 3:23 ` [patch 33/65] btrfs: tree-log: wait_for_writer " Jeff Mahoney
2011-10-04 3:23 ` [patch 34/65] btrfs: btrfs_init_compress " Jeff Mahoney
2011-10-04 3:23 ` [patch 35/65] btrfs: btrfs_invalidate_inodes " Jeff Mahoney
2011-10-04 3:23 ` [patch 36/65] btrfs: __setup_root " Jeff Mahoney
2011-10-04 3:23 ` [patch 37/65] btrfs: btrfs_destroy_delalloc_inodes " Jeff Mahoney
2011-10-04 3:23 ` [patch 38/65] btrfs: btrfs_prepare_extent_commit " Jeff Mahoney
2011-10-04 3:23 ` [patch 39/65] btrfs: btrfs_set_block_group_rw " Jeff Mahoney
2011-10-04 3:23 ` [patch 40/65] btrfs: setup_inline_extent_backref " Jeff Mahoney
2011-10-04 3:23 ` [patch 41/65] btrfs: btrfs_run_defrag_inodes " Jeff Mahoney
2011-10-04 3:23 ` [patch 42/65] btrfs: Simplify btrfs_submit_bio_hook Jeff Mahoney
2011-10-04 3:23 ` [patch 43/65] btrfs: Factor out tree->ops->merge_bio_hook call Jeff Mahoney
2011-10-04 3:23 ` [patch 44/65] btrfs: ->submit_bio_hook error push-up Jeff Mahoney
2011-10-04 3:23 ` [patch 45/65] btrfs: __add_reloc_root " Jeff Mahoney
2011-10-04 3:23 ` [patch 46/65] btrfs: fixup_low_keys should return void Jeff Mahoney
2011-10-04 3:23 ` [patch 47/65] btrfs: setup_items_for_insert " Jeff Mahoney
2011-10-04 3:23 ` Jeff Mahoney [this message]
2011-10-04 3:23 ` [patch 49/65] btrfs: insert_ptr " Jeff Mahoney
2011-10-04 3:23 ` [patch 50/65] btrfs: add_delayed_ref_head " Jeff Mahoney
2011-10-04 3:23 ` [patch 51/65] btrfs: add_delayed_tree_ref " Jeff Mahoney
2011-10-04 3:23 ` [patch 52/65] btrfs: add_delayed_data_ref " Jeff Mahoney
2011-10-04 3:23 ` [patch 53/65] btrfs: Fix kfree of member instead of structure Jeff Mahoney
2011-10-04 3:23 ` [patch 54/65] btrfs: Use mempools for delayed refs Jeff Mahoney
2011-10-04 3:23 ` [patch 55/65] btrfs: Delayed ref mempool functions should return void Jeff Mahoney
2011-10-04 3:23 ` [patch 56/65] btrfs: btrfs_inc_extent_ref void return prep Jeff Mahoney
2011-10-04 3:23 ` [patch 57/65] btrfs: btrfs_free_extent " Jeff Mahoney
2011-10-04 3:23 ` [patch 58/65] btrfs: __btrfs_mod_refs process_func should return void Jeff Mahoney
2011-10-04 3:23 ` [patch 59/65] btrfs: __btrfs_mod_ref " Jeff Mahoney
2011-10-04 3:23 ` [patch 60/65] btrfs: clean_tree_block " Jeff Mahoney
2011-10-04 3:23 ` [patch 61/65] btrfs: btrfs_truncate_item " Jeff Mahoney
2011-10-04 3:23 ` [patch 62/65] btrfs: btrfs_extend_item " Jeff Mahoney
2011-10-04 3:23 ` [patch 63/65] btrfs: end_compressed_writeback " Jeff Mahoney
2011-10-04 3:23 ` [patch 64/65] btrfs: copy_for_split " Jeff Mahoney
2011-10-04 3:23 ` [patch 65/65] btrfs: update_inline_extent_backref " Jeff Mahoney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111004032305.416414332@suse.com \
--to=jeffm@suse.com \
--cc=chris.mason@oracle.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).