Lines Matching full:dd

191 devfs_find(struct devfs_dirent *dd, const char *name, int namelen, int type)  in devfs_find()  argument
195 TAILQ_FOREACH(de, &dd->de_dlist, de_list) { in devfs_find()
268 struct devfs_dirent *dd; in devfs_vmkdir() local
272 dd = devfs_newdirent(name, namelen); in devfs_vmkdir()
273 TAILQ_INIT(&dd->de_dlist); in devfs_vmkdir()
274 dd->de_dirent->d_type = DT_DIR; in devfs_vmkdir()
275 dd->de_mode = 0555; in devfs_vmkdir()
276 dd->de_links = 2; in devfs_vmkdir()
277 dd->de_dir = dd; in devfs_vmkdir()
279 dd->de_inode = inode; in devfs_vmkdir()
281 dd->de_inode = alloc_unr(devfs_inos); in devfs_vmkdir()
292 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); in devfs_vmkdir()
293 de->de_dir = dd; in devfs_vmkdir()
299 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); in devfs_vmkdir()
301 de->de_dir = dd; in devfs_vmkdir()
305 TAILQ_INSERT_TAIL(&dotdot->de_dlist, dd, de_list); in devfs_vmkdir()
307 devfs_rules_apply(dmp, dd); in devfs_vmkdir()
311 mac_devfs_create_directory(dmp->dm_mount, name, namelen, dd); in devfs_vmkdir()
313 return (dd); in devfs_vmkdir()
336 struct devfs_dirent *dd, *de_dot, *de_dotdot; in devfs_rmdir_empty() local
355 dd = devfs_parent_dirent(de); in devfs_rmdir_empty()
356 KASSERT(dd != NULL, ("devfs_rmdir_empty: NULL dd")); in devfs_rmdir_empty()
359 TAILQ_REMOVE(&dd->de_dlist, de, de_list); in devfs_rmdir_empty()
360 DEVFS_DE_HOLD(dd); in devfs_rmdir_empty()
364 if (DEVFS_DE_DROP(dd)) { in devfs_rmdir_empty()
365 devfs_dirent_free(dd); in devfs_rmdir_empty()
369 de = dd; in devfs_rmdir_empty()
380 struct devfs_dirent *dd; in devfs_delete() local
388 dd = devfs_parent_dirent(de); in devfs_delete()
389 if (dd != NULL) in devfs_delete()
390 DEVFS_DE_HOLD(dd); in devfs_delete()
392 KASSERT(dd != NULL, ("devfs_delete: NULL dd")); in devfs_delete()
393 devfs_dir_unref_de(dm, dd); in devfs_delete()
396 dd = NULL; in devfs_delete()
425 if (dd != NULL) { in devfs_delete()
426 if (DEVFS_DE_DROP(dd)) in devfs_delete()
427 devfs_dirent_free(dd); in devfs_delete()
429 devfs_rmdir_empty(dm, dd); in devfs_delete()
440 devfs_purge(struct devfs_mount *dm, struct devfs_dirent *dd) in devfs_purge() argument
446 DEVFS_DE_HOLD(dd); in devfs_purge()
453 de = TAILQ_LAST(&dd->de_dlist, devfs_dlist_head); in devfs_purge()
456 TAILQ_REMOVE(&dd->de_dlist, de, de_list); in devfs_purge()
458 devfs_dir_unref_de(dm, dd); in devfs_purge()
466 if (DEVFS_DE_DROP(dd)) in devfs_purge()
467 devfs_dirent_free(dd); in devfs_purge()
468 else if ((dd->de_flags & DE_DOOMED) == 0) in devfs_purge()
469 devfs_delete(dm, dd, DEVFS_DEL_NORECURSE); in devfs_purge()
513 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()