Lines Matching defs:dirent
55 libuvfs_name_dirent_free(libuvfs_name_dirent_t *dirent)
57 libuvfs_fid_info_t *myinfo = dirent->de_myinfo;
59 if (list_link_active(&dirent->de_allnames))
60 list_remove(&myinfo->nm_allnames, dirent);
61 libuvfs_strfree(dirent->de_name);
63 umem_cache_free(libuvfs_name_dirent_cache, dirent);
249 libuvfs_name_dirent_t *dirent;
270 dirent = libuvfs_name_dirent_find(dir, name, &where);
272 if (dirent != NULL)
273 *oldfid = dirent->de_fid;
278 if (dirent == NULL) {
280 dirent = libuvfs_name_dirent_alloc(dir, child, name,
282 avl_insert(&dir->nm_dir, dirent, where);
283 list_insert_head(&child->nm_allnames, dirent);
286 libuvfs_fid_info_t *oldinfo = dirent->de_myinfo;
287 list_remove(&oldinfo->nm_allnames, dirent);
290 dirent->de_fid = *childfid;
291 list_insert_head(&child->nm_allnames, dirent);
292 dirent->de_myinfo = child;
294 avl_remove(&dir->nm_dir, dirent);
295 libuvfs_name_dirent_free(dirent);
323 libuvfs_name_dirent_t *dirent;
329 if (dir && (dirent = libuvfs_name_dirent_find(dir, name, NULL)))
330 *found = dirent->de_fid;