Lines Matching full:item

10 static int verify_dir_item(struct btrfs_dir_item *item, u32 start, u32 total)  in verify_dir_item()  argument
15 if (item->type >= BTRFS_FT_MAX) { in verify_dir_item()
16 printf("%s: invalid dir item type: %i\n", __func__, item->type); in verify_dir_item()
20 if (item->type == BTRFS_FT_XATTR) in verify_dir_item()
23 end = start + sizeof(*item) + item->name_len; in verify_dir_item()
24 if (item->name_len > max_len || end > total) { in verify_dir_item()
25 printf("%s: invalid dir item name len: %u\n", __func__, in verify_dir_item()
26 item->name_len); in verify_dir_item()
37 struct btrfs_dir_item *item; in btrfs_match_dir_item_name() local
41 item = btrfs_path_item_ptr(path, struct btrfs_dir_item); in btrfs_match_dir_item_name()
46 btrfs_dir_item_to_cpu(item); in btrfs_match_dir_item_name()
47 this_len = sizeof(*item) + item->name_len + item->data_len; in btrfs_match_dir_item_name()
48 name_ptr = (const char *) (item + 1); in btrfs_match_dir_item_name()
50 if (verify_dir_item(item, cur, total_len)) in btrfs_match_dir_item_name()
52 if (item->name_len == name_len && !memcmp(name_ptr, name, in btrfs_match_dir_item_name()
54 return item; in btrfs_match_dir_item_name()
57 item = (struct btrfs_dir_item *) ((u8 *) item + this_len); in btrfs_match_dir_item_name()
65 struct btrfs_dir_item *item) in btrfs_lookup_dir_item() argument
83 *item = *res; in btrfs_lookup_dir_item()
94 struct btrfs_dir_item *item; in btrfs_readdir() local
109 item = btrfs_path_item_ptr(&path, struct btrfs_dir_item); in btrfs_readdir()
110 btrfs_dir_item_to_cpu(item); in btrfs_readdir()
112 if (verify_dir_item(item, 0, sizeof(*item) + item->name_len)) in btrfs_readdir()
114 if (item->type == BTRFS_FT_XATTR) in btrfs_readdir()
117 if (callback(root, item)) in btrfs_readdir()