btrfs: introduce item_nr token variant helpers
The last remaining place where we have the pattern of
item = btrfs_item_nr(slot)
<do something with the item>
are the token helpers. Handle this by introducing token helpers that
will do the btrfs_item_nr() work inside of the helper itself, and then
convert all users of the btrfs_item token helpers to the new _nr()
variants.
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index e0cb78f..53fc204 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -2009,6 +2009,38 @@ static inline void btrfs_set_item_offset_nr(struct extent_buffer *eb, int nr,
btrfs_set_item_offset(eb, btrfs_item_nr(nr), val);
}
+static inline u32 btrfs_token_item_offset_nr(struct btrfs_map_token *token,
+ int slot)
+{
+ struct btrfs_item *item = btrfs_item_nr(slot);
+
+ return btrfs_token_item_offset(token, item);
+}
+
+static inline u32 btrfs_token_item_size_nr(struct btrfs_map_token *token,
+ int slot)
+{
+ struct btrfs_item *item = btrfs_item_nr(slot);
+
+ return btrfs_token_item_size(token, item);
+}
+
+static inline void btrfs_set_token_item_offset_nr(struct btrfs_map_token *token,
+ int slot, u32 val)
+{
+ struct btrfs_item *item = btrfs_item_nr(slot);
+
+ btrfs_set_token_item_offset(token, item, val);
+}
+
+static inline void btrfs_set_token_item_size_nr(struct btrfs_map_token *token,
+ int slot, u32 val)
+{
+ struct btrfs_item *item = btrfs_item_nr(slot);
+
+ btrfs_set_token_item_size(token, item, val);
+}
+
static inline void btrfs_item_key(const struct extent_buffer *eb,
struct btrfs_disk_key *disk_key, int nr)
{