From: Jan Schmidt Date: Tue, 22 Nov 2011 14:14:33 +0000 (+0100) Subject: Btrfs: added helper btrfs_next_item() X-Git-Tag: v3.2.74~42 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e83c48cb331eec759cfb9cf93ed2c5face453885;p=pandora-kernel.git Btrfs: added helper btrfs_next_item() commit c7d22a3c3cdb73d8a0151e2ccc8cf4a48c48310b upstream. btrfs_next_item() makes the btrfs path point to the next item, crossing leaf boundaries if needed. Signed-off-by: Arne Jansen Signed-off-by: Jan Schmidt [bwh: Dependency of the following fix] Signed-off-by: Ben Hutchings --- diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 83a871ffe092..2ca4f315b8e5 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -2482,6 +2482,13 @@ static inline int btrfs_insert_empty_item(struct btrfs_trans_handle *trans, } int btrfs_next_leaf(struct btrfs_root *root, struct btrfs_path *path); +static inline int btrfs_next_item(struct btrfs_root *root, struct btrfs_path *p) +{ + ++p->slots[0]; + if (p->slots[0] >= btrfs_header_nritems(p->nodes[0])) + return btrfs_next_leaf(root, p); + return 0; +} int btrfs_prev_leaf(struct btrfs_root *root, struct btrfs_path *path); int btrfs_leaf_free_space(struct btrfs_root *root, struct extent_buffer *leaf); void btrfs_drop_snapshot(struct btrfs_root *root,