Lines Matching refs:di
38 struct btrfs_dir_item *di; in __btrfs_getxattr() local
50 di = btrfs_lookup_xattr(NULL, root, path, btrfs_ino(inode), name, in __btrfs_getxattr()
52 if (!di) { in __btrfs_getxattr()
55 } else if (IS_ERR(di)) { in __btrfs_getxattr()
56 ret = PTR_ERR(di); in __btrfs_getxattr()
63 ret = btrfs_dir_data_len(leaf, di); in __btrfs_getxattr()
68 if (btrfs_dir_data_len(leaf, di) > size) { in __btrfs_getxattr()
80 data_ptr = (unsigned long)((char *)(di + 1) + in __btrfs_getxattr()
81 btrfs_dir_name_len(leaf, di)); in __btrfs_getxattr()
83 btrfs_dir_data_len(leaf, di)); in __btrfs_getxattr()
84 ret = btrfs_dir_data_len(leaf, di); in __btrfs_getxattr()
95 struct btrfs_dir_item *di = NULL; in do_setxattr() local
110 di = btrfs_lookup_xattr(trans, root, path, btrfs_ino(inode), in do_setxattr()
112 if (!di && (flags & XATTR_REPLACE)) in do_setxattr()
114 else if (IS_ERR(di)) in do_setxattr()
115 ret = PTR_ERR(di); in do_setxattr()
116 else if (di) in do_setxattr()
117 ret = btrfs_delete_one_dir_name(trans, root, path, di); in do_setxattr()
130 di = btrfs_lookup_xattr(NULL, root, path, btrfs_ino(inode), in do_setxattr()
132 if (!di) in do_setxattr()
134 else if (IS_ERR(di)) in do_setxattr()
135 ret = PTR_ERR(di); in do_setxattr()
139 di = NULL; in do_setxattr()
152 di = btrfs_match_dir_item_name(root, path, name, name_len); in do_setxattr()
153 if (!di && !(flags & XATTR_REPLACE)) { in do_setxattr()
159 di = btrfs_match_dir_item_name(root, path, name, name_len); in do_setxattr()
160 ASSERT(di); /* logic error */ in do_setxattr()
165 if (di && (flags & XATTR_CREATE)) { in do_setxattr()
170 if (di) { in do_setxattr()
180 const u16 old_data_len = btrfs_dir_data_len(leaf, di); in do_setxattr()
182 const u32 data_size = sizeof(*di) + name_len + size; in do_setxattr()
195 if (old_data_len + name_len + sizeof(*di) == item_size) { in do_setxattr()
204 ret = btrfs_delete_one_dir_name(trans, root, path, di); in do_setxattr()
213 di = (struct btrfs_dir_item *)ptr; in do_setxattr()
214 btrfs_set_dir_data_len(leaf, di, size); in do_setxattr()
215 data_ptr = ((unsigned long)(di + 1)) + name_len; in do_setxattr()
268 struct btrfs_dir_item *di; in btrfs_listxattr() local
321 di = btrfs_item_ptr(leaf, slot, struct btrfs_dir_item); in btrfs_listxattr()
322 if (verify_dir_item(root, leaf, di)) in btrfs_listxattr()
325 name_len = btrfs_dir_name_len(leaf, di); in btrfs_listxattr()
337 name_ptr = (unsigned long)(di + 1); in btrfs_listxattr()