Lines Matching refs:dd

187 devfs_find(struct devfs_dirent *dd, const char *name, int namelen, int type)  in devfs_find()  argument
191 TAILQ_FOREACH(de, &dd->de_dlist, de_list) { in devfs_find()
264 struct devfs_dirent *dd; in devfs_vmkdir() local
268 dd = devfs_newdirent(name, namelen); in devfs_vmkdir()
269 TAILQ_INIT(&dd->de_dlist); in devfs_vmkdir()
270 dd->de_dirent->d_type = DT_DIR; in devfs_vmkdir()
271 dd->de_mode = 0555; in devfs_vmkdir()
272 dd->de_links = 2; in devfs_vmkdir()
273 dd->de_dir = dd; in devfs_vmkdir()
275 dd->de_inode = inode; in devfs_vmkdir()
277 dd->de_inode = alloc_unr(devfs_inos); in devfs_vmkdir()
288 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); in devfs_vmkdir()
289 de->de_dir = dd; in devfs_vmkdir()
295 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); in devfs_vmkdir()
297 de->de_dir = dd; in devfs_vmkdir()
301 TAILQ_INSERT_TAIL(&dotdot->de_dlist, dd, de_list); in devfs_vmkdir()
303 devfs_rules_apply(dmp, dd); in devfs_vmkdir()
307 mac_devfs_create_directory(dmp->dm_mount, name, namelen, dd); in devfs_vmkdir()
309 return (dd); in devfs_vmkdir()
332 struct devfs_dirent *dd, *de_dot, *de_dotdot; in devfs_rmdir_empty() local
351 dd = devfs_parent_dirent(de); in devfs_rmdir_empty()
352 KASSERT(dd != NULL, ("devfs_rmdir_empty: NULL dd")); in devfs_rmdir_empty()
355 TAILQ_REMOVE(&dd->de_dlist, de, de_list); in devfs_rmdir_empty()
356 DEVFS_DE_HOLD(dd); in devfs_rmdir_empty()
360 if (DEVFS_DE_DROP(dd)) { in devfs_rmdir_empty()
361 devfs_dirent_free(dd); in devfs_rmdir_empty()
365 de = dd; in devfs_rmdir_empty()
376 struct devfs_dirent *dd; in devfs_delete() local
384 dd = devfs_parent_dirent(de); in devfs_delete()
385 if (dd != NULL) in devfs_delete()
386 DEVFS_DE_HOLD(dd); in devfs_delete()
388 KASSERT(dd != NULL, ("devfs_delete: NULL dd")); in devfs_delete()
389 devfs_dir_unref_de(dm, dd); in devfs_delete()
392 dd = NULL; in devfs_delete()
426 if (dd != NULL) { in devfs_delete()
427 if (DEVFS_DE_DROP(dd)) in devfs_delete()
428 devfs_dirent_free(dd); in devfs_delete()
430 devfs_rmdir_empty(dm, dd); in devfs_delete()
441 devfs_purge(struct devfs_mount *dm, struct devfs_dirent *dd) in devfs_purge() argument
447 DEVFS_DE_HOLD(dd); in devfs_purge()
454 de = TAILQ_LAST(&dd->de_dlist, devfs_dlist_head); in devfs_purge()
457 TAILQ_REMOVE(&dd->de_dlist, de, de_list); in devfs_purge()
459 devfs_dir_unref_de(dm, dd); in devfs_purge()
467 if (DEVFS_DE_DROP(dd)) in devfs_purge()
468 devfs_dirent_free(dd); in devfs_purge()
469 else if ((dd->de_flags & DE_DOOMED) == 0) in devfs_purge()
470 devfs_delete(dm, dd, DEVFS_DEL_NORECURSE); in devfs_purge()
514 struct devfs_dirent *dd, *dt; in devfs_populate_loop() local
581 dd = dm->dm_rootdir; in devfs_populate_loop()
588 de = devfs_find(dd, s, q - s, 0); in devfs_populate_loop()
590 de = devfs_vmkdir(dm, s, q - s, dd, 0); in devfs_populate_loop()
592 de = devfs_find(dd, s, q - s, DT_DIR); in devfs_populate_loop()
594 de = devfs_vmkdir(dm, s, q - s, dd, 0); in devfs_populate_loop()
598 dd = de; in devfs_populate_loop()
599 KASSERT(dd->de_dirent->d_type == DT_DIR && in devfs_populate_loop()
600 (dd->de_flags & (DE_DOT | DE_DOTDOT)) == 0, in devfs_populate_loop()
606 de = devfs_find(dd, s, q - s, DT_LNK); in devfs_populate_loop()
617 dt = dd; in devfs_populate_loop()
641 de->de_dir = dd; in devfs_populate_loop()
642 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); in devfs_populate_loop()