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
103 di = btrfs_lookup_xattr(trans, root, path, in btrfs_setxattr()
105 if (!di && (flags & XATTR_REPLACE)) in btrfs_setxattr()
107 else if (IS_ERR(di)) in btrfs_setxattr()
108 ret = PTR_ERR(di); in btrfs_setxattr()
109 else if (di) in btrfs_setxattr()
110 ret = btrfs_delete_one_dir_name(trans, root, path, di); in btrfs_setxattr()
123 di = btrfs_lookup_xattr(NULL, root, path, in btrfs_setxattr()
125 if (!di) in btrfs_setxattr()
127 else if (IS_ERR(di)) in btrfs_setxattr()
128 ret = PTR_ERR(di); in btrfs_setxattr()
132 di = NULL; in btrfs_setxattr()
145 di = btrfs_match_dir_item_name(path, name, name_len); in btrfs_setxattr()
146 if (!di && !(flags & XATTR_REPLACE)) { in btrfs_setxattr()
152 di = btrfs_match_dir_item_name(path, name, name_len); in btrfs_setxattr()
153 ASSERT(di); /* logic error */ in btrfs_setxattr()
158 if (di && (flags & XATTR_CREATE)) { in btrfs_setxattr()
163 if (di) { in btrfs_setxattr()
173 const u16 old_data_len = btrfs_dir_data_len(leaf, di); in btrfs_setxattr()
175 const u32 data_size = sizeof(*di) + name_len + size; in btrfs_setxattr()
187 if (old_data_len + name_len + sizeof(*di) == item_size) { in btrfs_setxattr()
195 ret = btrfs_delete_one_dir_name(trans, root, path, di); in btrfs_setxattr()
203 di = (struct btrfs_dir_item *)ptr; in btrfs_setxattr()
204 btrfs_set_dir_data_len(leaf, di, size); in btrfs_setxattr()
205 data_ptr = ((unsigned long)(di + 1)) + name_len; in btrfs_setxattr()
304 struct btrfs_dir_item *di; in btrfs_listxattr() local
319 di = btrfs_item_ptr(leaf, slot, struct btrfs_dir_item); in btrfs_listxattr()
323 u16 name_len = btrfs_dir_name_len(leaf, di); in btrfs_listxattr()
324 u16 data_len = btrfs_dir_data_len(leaf, di); in btrfs_listxattr()
325 u32 this_len = sizeof(*di) + name_len + data_len; in btrfs_listxattr()
326 unsigned long name_ptr = (unsigned long)(di + 1); in btrfs_listxattr()
348 di = (struct btrfs_dir_item *)((char *)di + this_len); in btrfs_listxattr()