Lines Matching defs:di
30 struct btrfs_dir_item *di;
41 di = btrfs_lookup_xattr(NULL, root, path, btrfs_ino(BTRFS_I(inode)),
43 if (!di)
45 if (IS_ERR(di))
46 return PTR_ERR(di);
51 return btrfs_dir_data_len(leaf, di);
54 if (btrfs_dir_data_len(leaf, di) > size)
64 data_ptr = (unsigned long)((char *)(di + 1) +
65 btrfs_dir_name_len(leaf, di));
67 btrfs_dir_data_len(leaf, di));
68 return btrfs_dir_data_len(leaf, di);
74 struct btrfs_dir_item *di = NULL;
91 di = btrfs_lookup_xattr(trans, root, path,
93 if (!di && (flags & XATTR_REPLACE))
95 else if (IS_ERR(di))
96 ret = PTR_ERR(di);
97 else if (di)
98 ret = btrfs_delete_one_dir_name(trans, root, path, di);
111 di = btrfs_lookup_xattr(NULL, root, path,
113 if (!di)
115 else if (IS_ERR(di))
116 ret = PTR_ERR(di);
120 di = NULL;
133 di = btrfs_match_dir_item_name(path, name, name_len);
134 if (!di && !(flags & XATTR_REPLACE)) {
140 di = btrfs_match_dir_item_name(path, name, name_len);
141 ASSERT(di); /* logic error */
146 if (di && (flags & XATTR_CREATE)) {
151 if (di) {
161 const u16 old_data_len = btrfs_dir_data_len(leaf, di);
163 const u32 data_size = sizeof(*di) + name_len + size;
175 if (old_data_len + name_len + sizeof(*di) == item_size) {
183 ret = btrfs_delete_one_dir_name(trans, root, path, di);
191 di = (struct btrfs_dir_item *)ptr;
192 btrfs_set_dir_data_len(leaf, di, size);
193 data_ptr = ((unsigned long)(di + 1)) + name_len;
291 struct btrfs_dir_item *di;
306 di = btrfs_item_ptr(leaf, slot, struct btrfs_dir_item);
310 u16 name_len = btrfs_dir_name_len(leaf, di);
311 u16 data_len = btrfs_dir_data_len(leaf, di);
312 u32 this_len = sizeof(*di) + name_len + data_len;
313 unsigned long name_ptr = (unsigned long)(di + 1);
335 di = (struct btrfs_dir_item *)((char *)di + this_len);