summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorChris Mason2007-03-14 15:31:29 +0100
committerDavid Woodhouse2007-03-14 15:31:29 +0100
commit4beb1b8b75a86373f6020103ab840448d14c8880 (patch)
tree944e80ccd6764afd16b4e31d5595d2decf36dabc /fs/btrfs/ctree.h
parentBtrfs: properly reset block cache on free (diff)
downloadkernel-qcow2-linux-4beb1b8b75a86373f6020103ab840448d14c8880.tar.gz
kernel-qcow2-linux-4beb1b8b75a86373f6020103ab840448d14c8880.tar.xz
kernel-qcow2-linux-4beb1b8b75a86373f6020103ab840448d14c8880.zip
Btrfs: add leaf data casting helper
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r--fs/btrfs/ctree.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 0968899fb7f9..05c7707263f5 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -401,6 +401,10 @@ static inline void btrfs_set_super_blocksize(struct btrfs_super_block *s,
s->blocksize = cpu_to_le16(val);
}
+/* helper function to cast into the data area of the leaf. */
+#define btrfs_item_ptr(leaf, slot, type) \
+ ((type *)((leaf)->data + btrfs_item_offset((leaf)->items + (slot))))
+
struct btrfs_buffer *btrfs_alloc_free_block(struct btrfs_root *root);
int btrfs_inc_ref(struct btrfs_root *root, struct btrfs_buffer *buf);
int btrfs_free_extent(struct btrfs_root *root, u64 blocknr, u64 num_blocks);