Lines Matching refs:di
30 struct btrfs_dir_item *di; in btrfs_getxattr() local
42 di = btrfs_lookup_xattr(NULL, root, path, btrfs_ino(BTRFS_I(inode)), in btrfs_getxattr()
44 if (!di) { in btrfs_getxattr()
47 } else if (IS_ERR(di)) { in btrfs_getxattr()
48 ret = PTR_ERR(di); in btrfs_getxattr()
55 ret = btrfs_dir_data_len(leaf, di); in btrfs_getxattr()
60 if (btrfs_dir_data_len(leaf, di) > size) { in btrfs_getxattr()
72 data_ptr = (unsigned long)((char *)(di + 1) + in btrfs_getxattr()
73 btrfs_dir_name_len(leaf, di)); in btrfs_getxattr()
75 btrfs_dir_data_len(leaf, di)); in btrfs_getxattr()
76 ret = btrfs_dir_data_len(leaf, di); in btrfs_getxattr()
86 struct btrfs_dir_item *di = NULL; in btrfs_setxattr() local
104 di = btrfs_lookup_xattr(trans, root, path, in btrfs_setxattr()
106 if (!di && (flags & XATTR_REPLACE)) in btrfs_setxattr()
108 else if (IS_ERR(di)) in btrfs_setxattr()
109 ret = PTR_ERR(di); in btrfs_setxattr()
110 else if (di) in btrfs_setxattr()
111 ret = btrfs_delete_one_dir_name(trans, root, path, di); in btrfs_setxattr()
124 di = btrfs_lookup_xattr(NULL, root, path, in btrfs_setxattr()
126 if (!di) in btrfs_setxattr()
128 else if (IS_ERR(di)) in btrfs_setxattr()
129 ret = PTR_ERR(di); in btrfs_setxattr()
133 di = NULL; in btrfs_setxattr()
146 di = btrfs_match_dir_item_name(fs_info, path, name, name_len); in btrfs_setxattr()
147 if (!di && !(flags & XATTR_REPLACE)) { in btrfs_setxattr()
153 di = btrfs_match_dir_item_name(fs_info, path, name, name_len); in btrfs_setxattr()
154 ASSERT(di); /* logic error */ in btrfs_setxattr()
159 if (di && (flags & XATTR_CREATE)) { in btrfs_setxattr()
164 if (di) { in btrfs_setxattr()
174 const u16 old_data_len = btrfs_dir_data_len(leaf, di); in btrfs_setxattr()
176 const u32 data_size = sizeof(*di) + name_len + size; in btrfs_setxattr()
188 if (old_data_len + name_len + sizeof(*di) == item_size) { in btrfs_setxattr()
196 ret = btrfs_delete_one_dir_name(trans, root, path, di); in btrfs_setxattr()
204 di = (struct btrfs_dir_item *)ptr; in btrfs_setxattr()
205 btrfs_set_dir_data_len(leaf, di, size); in btrfs_setxattr()
206 data_ptr = ((unsigned long)(di + 1)) + name_len; in btrfs_setxattr()
306 struct btrfs_dir_item *di; in btrfs_listxattr() local
321 di = btrfs_item_ptr(leaf, slot, struct btrfs_dir_item); in btrfs_listxattr()
325 u16 name_len = btrfs_dir_name_len(leaf, di); in btrfs_listxattr()
326 u16 data_len = btrfs_dir_data_len(leaf, di); in btrfs_listxattr()
327 u32 this_len = sizeof(*di) + name_len + data_len; in btrfs_listxattr()
328 unsigned long name_ptr = (unsigned long)(di + 1); in btrfs_listxattr()
350 di = (struct btrfs_dir_item *)((char *)di + this_len); in btrfs_listxattr()