Lines Matching defs:dirent

8 #include "dirent.h"
123 "dirent name too big (%u > %u)",
128 "dirent has stray data after name's NUL");
142 "dirent points to own directory");
168 struct bkey_i_dirent *dirent;
176 dirent = bch2_trans_kmalloc(trans, u64s * sizeof(u64));
177 if (IS_ERR(dirent))
178 return dirent;
180 bkey_dirent_init(&dirent->k_i);
181 dirent->k.u64s = u64s;
184 dirent->v.d_inum = cpu_to_le64(dst);
186 dirent->v.d_parent_subvol = cpu_to_le32(dir.subvol);
187 dirent->v.d_child_subvol = cpu_to_le32(dst);
190 dirent->v.d_type = type;
192 memcpy(dirent->v.d_name, name->name, name->len);
193 memset(dirent->v.d_name + name->len, 0,
194 bkey_val_bytes(&dirent->k) -
198 EBUG_ON(bch2_dirent_name_bytes(dirent_i_to_s_c(dirent)) != name->len);
200 return dirent;
211 struct bkey_i_dirent *dirent;
214 dirent = dirent_create_key(trans, dir_inum, type, name, dst_inum);
215 ret = PTR_ERR_OR_ZERO(dirent);
219 dirent->k.p.inode = dir;
220 dirent->k.p.snapshot = snapshot;
224 &dirent->k_i, str_hash_flags,
226 *dir_offset = dirent->k.p.offset;
237 struct bkey_i_dirent *dirent;
240 dirent = dirent_create_key(trans, dir, type, name, dst_inum);
241 ret = PTR_ERR_OR_ZERO(dirent);
246 dir, &dirent->k_i, str_hash_flags);
247 *dir_offset = dirent->k.p.offset;
428 * If we're deleting a subvolume we need to really delete the dirent,
430 * single dirent that points to a given subvolume.
549 struct bkey_s_c_dirent dirent;
570 dirent = bkey_s_c_to_dirent(k);
572 ret = bch2_dirent_read_target(trans, inum, dirent, &target);
580 dirent = bkey_i_to_s_c_dirent(sk.k);
583 name = bch2_dirent_get_name(dirent);
585 ctx->pos = dirent.k->p.offset;
589 vfs_d_type(dirent.v->d_type)))
591 ctx->pos = dirent.k->p.offset + 1;