Commit | Line | Data |
---|---|---|
f2b39277 JB |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | ||
3 | #ifndef BTRFS_DIR_ITEM_H | |
4 | #define BTRFS_DIR_ITEM_H | |
5 | ||
1b9e6a15 JB |
6 | #include <linux/crc32c.h> |
7 | ||
04cc63d1 JB |
8 | struct fscrypt_str; |
9 | ||
f2b39277 JB |
10 | int btrfs_check_dir_item_collision(struct btrfs_root *root, u64 dir, |
11 | const struct fscrypt_str *name); | |
12 | int btrfs_insert_dir_item(struct btrfs_trans_handle *trans, | |
13 | const struct fscrypt_str *name, struct btrfs_inode *dir, | |
14 | struct btrfs_key *location, u8 type, u64 index); | |
15 | struct btrfs_dir_item *btrfs_lookup_dir_item(struct btrfs_trans_handle *trans, | |
16 | struct btrfs_root *root, | |
17 | struct btrfs_path *path, u64 dir, | |
18 | const struct fscrypt_str *name, int mod); | |
19 | struct btrfs_dir_item *btrfs_lookup_dir_index_item( | |
20 | struct btrfs_trans_handle *trans, | |
21 | struct btrfs_root *root, | |
22 | struct btrfs_path *path, u64 dir, | |
23 | u64 index, const struct fscrypt_str *name, int mod); | |
24 | struct btrfs_dir_item *btrfs_search_dir_index_item(struct btrfs_root *root, | |
25 | struct btrfs_path *path, u64 dirid, | |
26 | const struct fscrypt_str *name); | |
27 | int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans, | |
28 | struct btrfs_root *root, | |
29 | struct btrfs_path *path, | |
30 | struct btrfs_dir_item *di); | |
31 | int btrfs_insert_xattr_item(struct btrfs_trans_handle *trans, | |
32 | struct btrfs_root *root, | |
33 | struct btrfs_path *path, u64 objectid, | |
34 | const char *name, u16 name_len, | |
35 | const void *data, u16 data_len); | |
36 | struct btrfs_dir_item *btrfs_lookup_xattr(struct btrfs_trans_handle *trans, | |
37 | struct btrfs_root *root, | |
38 | struct btrfs_path *path, u64 dir, | |
39 | const char *name, u16 name_len, | |
40 | int mod); | |
41 | struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_fs_info *fs_info, | |
42 | struct btrfs_path *path, | |
43 | const char *name, | |
44 | int name_len); | |
45 | ||
1b9e6a15 JB |
46 | static inline u64 btrfs_name_hash(const char *name, int len) |
47 | { | |
48 | return crc32c((u32)~1, name, len); | |
49 | } | |
50 | ||
f2b39277 | 51 | #endif |