Lines Matching refs:di
26 struct btrfs_dir_item *di; in btrfs_getxattr() local
38 di = btrfs_lookup_xattr(NULL, root, path, btrfs_ino(BTRFS_I(inode)), in btrfs_getxattr()
40 if (!di) { in btrfs_getxattr()
43 } else if (IS_ERR(di)) { in btrfs_getxattr()
44 ret = PTR_ERR(di); in btrfs_getxattr()
51 ret = btrfs_dir_data_len(leaf, di); in btrfs_getxattr()
56 if (btrfs_dir_data_len(leaf, di) > size) { in btrfs_getxattr()
68 data_ptr = (unsigned long)((char *)(di + 1) + in btrfs_getxattr()
69 btrfs_dir_name_len(leaf, di)); in btrfs_getxattr()
71 btrfs_dir_data_len(leaf, di)); in btrfs_getxattr()
72 ret = btrfs_dir_data_len(leaf, di); in btrfs_getxattr()
82 struct btrfs_dir_item *di = NULL; in btrfs_setxattr() local
100 di = btrfs_lookup_xattr(trans, root, path, in btrfs_setxattr()
102 if (!di && (flags & XATTR_REPLACE)) in btrfs_setxattr()
104 else if (IS_ERR(di)) in btrfs_setxattr()
105 ret = PTR_ERR(di); in btrfs_setxattr()
106 else if (di) in btrfs_setxattr()
107 ret = btrfs_delete_one_dir_name(trans, root, path, di); in btrfs_setxattr()
120 di = btrfs_lookup_xattr(NULL, root, path, in btrfs_setxattr()
122 if (!di) in btrfs_setxattr()
124 else if (IS_ERR(di)) in btrfs_setxattr()
125 ret = PTR_ERR(di); in btrfs_setxattr()
129 di = NULL; in btrfs_setxattr()
142 di = btrfs_match_dir_item_name(fs_info, path, name, name_len); in btrfs_setxattr()
143 if (!di && !(flags & XATTR_REPLACE)) { in btrfs_setxattr()
149 di = btrfs_match_dir_item_name(fs_info, path, name, name_len); in btrfs_setxattr()
150 ASSERT(di); /* logic error */ in btrfs_setxattr()
155 if (di && (flags & XATTR_CREATE)) { in btrfs_setxattr()
160 if (di) { in btrfs_setxattr()
170 const u16 old_data_len = btrfs_dir_data_len(leaf, di); in btrfs_setxattr()
172 const u32 data_size = sizeof(*di) + name_len + size; in btrfs_setxattr()
185 if (old_data_len + name_len + sizeof(*di) == item_size) { in btrfs_setxattr()
193 ret = btrfs_delete_one_dir_name(trans, root, path, di); in btrfs_setxattr()
202 di = (struct btrfs_dir_item *)ptr; in btrfs_setxattr()
203 btrfs_set_dir_data_len(leaf, di, size); in btrfs_setxattr()
204 data_ptr = ((unsigned long)(di + 1)) + name_len; in btrfs_setxattr()
306 struct btrfs_dir_item *di; in btrfs_listxattr() local
338 di = btrfs_item_ptr(leaf, slot, struct btrfs_dir_item); in btrfs_listxattr()
342 u16 name_len = btrfs_dir_name_len(leaf, di); in btrfs_listxattr()
343 u16 data_len = btrfs_dir_data_len(leaf, di); in btrfs_listxattr()
344 u32 this_len = sizeof(*di) + name_len + data_len; in btrfs_listxattr()
345 unsigned long name_ptr = (unsigned long)(di + 1); in btrfs_listxattr()
367 di = (struct btrfs_dir_item *)((char *)di + this_len); in btrfs_listxattr()