summaryrefslogtreecommitdiff
path: root/fs/btrfs/inode-item.h
diff options
context:
space:
mode:
authorJosef Bacik <josef@toxicpanda.com>2023-08-25 23:19:21 +0300
committerDavid Sterba <dsterba@suse.com>2023-10-12 17:44:02 +0300
commit98e4f060c4f565a3b62e8cdfe6b89f59167312b6 (patch)
treed074a93b8c964c532948052cad9f97462a9574e8 /fs/btrfs/inode-item.h
parent03e86348965a5fa13593db8682132033d663f7ee (diff)
downloadlinux-98e4f060c4f565a3b62e8cdfe6b89f59167312b6.tar.xz
btrfs: move btrfs_extref_hash into inode-item.h
Ideally this would be un-inlined, but that is a cleanup for later. For now move this into inode-item.h, which is where the extref code lives. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/inode-item.h')
-rw-r--r--fs/btrfs/inode-item.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/btrfs/inode-item.h b/fs/btrfs/inode-item.h
index ede43b6c6559..f50cf6cc160e 100644
--- a/fs/btrfs/inode-item.h
+++ b/fs/btrfs/inode-item.h
@@ -4,6 +4,7 @@
#define BTRFS_INODE_ITEM_H
#include <linux/types.h>
+#include <linux/crc32c.h>
struct btrfs_trans_handle;
struct btrfs_root;
@@ -76,6 +77,12 @@ static inline void btrfs_inode_split_flags(u64 inode_item_flags,
*ro_flags = (u32)(inode_item_flags >> 32);
}
+/* Figure the key offset of an extended inode ref. */
+static inline u64 btrfs_extref_hash(u64 parent_objectid, const char *name, int len)
+{
+ return (u64)crc32c(parent_objectid, name, len);
+}
+
int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans,
struct btrfs_root *root,
struct btrfs_truncate_control *control);