Lines Matching refs:dd

190 devfs_find(struct devfs_dirent *dd, const char *name, int namelen, int type)  in devfs_find()  argument
194 TAILQ_FOREACH(de, &dd->de_dlist, de_list) { in devfs_find()
267 struct devfs_dirent *dd; in devfs_vmkdir() local
271 dd = devfs_newdirent(name, namelen); in devfs_vmkdir()
272 TAILQ_INIT(&dd->de_dlist); in devfs_vmkdir()
273 dd->de_dirent->d_type = DT_DIR; in devfs_vmkdir()
274 dd->de_mode = 0555; in devfs_vmkdir()
275 dd->de_links = 2; in devfs_vmkdir()
276 dd->de_dir = dd; in devfs_vmkdir()
278 dd->de_inode = inode; in devfs_vmkdir()
280 dd->de_inode = alloc_unr(devfs_inos); in devfs_vmkdir()
291 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); in devfs_vmkdir()
292 de->de_dir = dd; in devfs_vmkdir()
298 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); in devfs_vmkdir()
300 de->de_dir = dd; in devfs_vmkdir()
304 TAILQ_INSERT_TAIL(&dotdot->de_dlist, dd, de_list); in devfs_vmkdir()
306 devfs_rules_apply(dmp, dd); in devfs_vmkdir()
310 mac_devfs_create_directory(dmp->dm_mount, name, namelen, dd); in devfs_vmkdir()
312 return (dd); in devfs_vmkdir()
335 struct devfs_dirent *dd, *de_dot, *de_dotdot; in devfs_rmdir_empty() local
354 dd = devfs_parent_dirent(de); in devfs_rmdir_empty()
355 KASSERT(dd != NULL, ("devfs_rmdir_empty: NULL dd")); in devfs_rmdir_empty()
358 TAILQ_REMOVE(&dd->de_dlist, de, de_list); in devfs_rmdir_empty()
359 DEVFS_DE_HOLD(dd); in devfs_rmdir_empty()
363 if (DEVFS_DE_DROP(dd)) { in devfs_rmdir_empty()
364 devfs_dirent_free(dd); in devfs_rmdir_empty()
368 de = dd; in devfs_rmdir_empty()
379 struct devfs_dirent *dd; in devfs_delete() local
387 dd = devfs_parent_dirent(de); in devfs_delete()
388 if (dd != NULL) in devfs_delete()
389 DEVFS_DE_HOLD(dd); in devfs_delete()
391 KASSERT(dd != NULL, ("devfs_delete: NULL dd")); in devfs_delete()
392 devfs_dir_unref_de(dm, dd); in devfs_delete()
395 dd = NULL; in devfs_delete()
429 if (dd != NULL) { in devfs_delete()
430 if (DEVFS_DE_DROP(dd)) in devfs_delete()
431 devfs_dirent_free(dd); in devfs_delete()
433 devfs_rmdir_empty(dm, dd); in devfs_delete()
444 devfs_purge(struct devfs_mount *dm, struct devfs_dirent *dd) in devfs_purge() argument
450 DEVFS_DE_HOLD(dd); in devfs_purge()
457 de = TAILQ_LAST(&dd->de_dlist, devfs_dlist_head); in devfs_purge()
460 TAILQ_REMOVE(&dd->de_dlist, de, de_list); in devfs_purge()
462 devfs_dir_unref_de(dm, dd); in devfs_purge()
470 if (DEVFS_DE_DROP(dd)) in devfs_purge()
471 devfs_dirent_free(dd); in devfs_purge()
472 else if ((dd->de_flags & DE_DOOMED) == 0) in devfs_purge()
473 devfs_delete(dm, dd, DEVFS_DEL_NORECURSE); in devfs_purge()
517 struct devfs_dirent *dd, *dt; in devfs_populate_loop() local
582 dd = dm->dm_rootdir; in devfs_populate_loop()
589 de = devfs_find(dd, s, q - s, 0); in devfs_populate_loop()
591 de = devfs_vmkdir(dm, s, q - s, dd, 0); in devfs_populate_loop()
593 de = devfs_find(dd, s, q - s, DT_DIR); in devfs_populate_loop()
595 de = devfs_vmkdir(dm, s, q - s, dd, 0); in devfs_populate_loop()
599 dd = de; in devfs_populate_loop()
600 KASSERT(dd->de_dirent->d_type == DT_DIR && in devfs_populate_loop()
601 (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()