Lines Matching refs:dir_item
75 struct btrfs_dir_item *dir_item; in btrfs_insert_xattr_item() local
88 data_size = sizeof(*dir_item) + name_len + data_len; in btrfs_insert_xattr_item()
89 dir_item = insert_with_overflow(trans, root, path, &key, data_size, in btrfs_insert_xattr_item()
91 if (IS_ERR(dir_item)) in btrfs_insert_xattr_item()
92 return PTR_ERR(dir_item); in btrfs_insert_xattr_item()
97 btrfs_set_dir_item_key(leaf, dir_item, &disk_key); in btrfs_insert_xattr_item()
98 btrfs_set_dir_type(leaf, dir_item, BTRFS_FT_XATTR); in btrfs_insert_xattr_item()
99 btrfs_set_dir_name_len(leaf, dir_item, name_len); in btrfs_insert_xattr_item()
100 btrfs_set_dir_transid(leaf, dir_item, trans->transid); in btrfs_insert_xattr_item()
101 btrfs_set_dir_data_len(leaf, dir_item, data_len); in btrfs_insert_xattr_item()
102 name_ptr = (unsigned long)(dir_item + 1); in btrfs_insert_xattr_item()
128 struct btrfs_dir_item *dir_item; in btrfs_insert_dir_item() local
146 data_size = sizeof(*dir_item) + name_len; in btrfs_insert_dir_item()
147 dir_item = insert_with_overflow(trans, root, path, &key, data_size, in btrfs_insert_dir_item()
149 if (IS_ERR(dir_item)) { in btrfs_insert_dir_item()
150 ret = PTR_ERR(dir_item); in btrfs_insert_dir_item()
157 btrfs_set_dir_item_key(leaf, dir_item, &disk_key); in btrfs_insert_dir_item()
158 btrfs_set_dir_type(leaf, dir_item, type); in btrfs_insert_dir_item()
159 btrfs_set_dir_data_len(leaf, dir_item, 0); in btrfs_insert_dir_item()
160 btrfs_set_dir_name_len(leaf, dir_item, name_len); in btrfs_insert_dir_item()
161 btrfs_set_dir_transid(leaf, dir_item, trans->transid); in btrfs_insert_dir_item()
162 name_ptr = (unsigned long)(dir_item + 1); in btrfs_insert_dir_item()
386 struct btrfs_dir_item *dir_item; in btrfs_match_dir_item_name() local
394 dir_item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dir_item); in btrfs_match_dir_item_name()
395 if (verify_dir_item(root, leaf, dir_item)) in btrfs_match_dir_item_name()
400 this_len = sizeof(*dir_item) + in btrfs_match_dir_item_name()
401 btrfs_dir_name_len(leaf, dir_item) + in btrfs_match_dir_item_name()
402 btrfs_dir_data_len(leaf, dir_item); in btrfs_match_dir_item_name()
403 name_ptr = (unsigned long)(dir_item + 1); in btrfs_match_dir_item_name()
405 if (btrfs_dir_name_len(leaf, dir_item) == name_len && in btrfs_match_dir_item_name()
407 return dir_item; in btrfs_match_dir_item_name()
410 dir_item = (struct btrfs_dir_item *)((char *)dir_item + in btrfs_match_dir_item_name()
452 struct btrfs_dir_item *dir_item) in verify_dir_item() argument
455 u8 type = btrfs_dir_type(leaf, dir_item); in verify_dir_item()
466 if (btrfs_dir_name_len(leaf, dir_item) > namelen) { in verify_dir_item()
468 (unsigned)btrfs_dir_data_len(leaf, dir_item)); in verify_dir_item()
473 if ((btrfs_dir_data_len(leaf, dir_item) + in verify_dir_item()
474 btrfs_dir_name_len(leaf, dir_item)) > BTRFS_MAX_XATTR_SIZE(root)) { in verify_dir_item()
476 (unsigned)btrfs_dir_name_len(leaf, dir_item), in verify_dir_item()
477 (unsigned)btrfs_dir_data_len(leaf, dir_item)); in verify_dir_item()