No, many pointers in btrfs function arguments are not pointing to an
absolute address, but relative to the start address of extent.
Take following function as example, argument inode_item is an offset
value to the beginning of leaf. So we can't reach its member with
&inode_item->xxx
> static inline struct btrfs_timespec *
> btrfs_inode_mtime(struct btrfs_inode_item *inode_item)
> {
> - unsigned long ptr = (unsigned long)inode_item;
> - ptr += offsetof(struct btrfs_inode_item, mtime);
> - return (struct btrfs_timespec *)ptr;
> + return &inode_item->mtime;
> }
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html