Lines Matching defs:dnode

373 	tmpfs_node_t *dnode = VP_TO_TMPFS_DIR(dvp), *node;
383 if (dnode->tn_links == LINK_MAX) {
387 KASSERT(dnode->tn_links < LINK_MAX);
390 if (TMPFS_DIRSEQ_FULL(dnode)) {
395 if (dnode->tn_links == 0) {
402 dnode->tn_gid, vap->va_mode, target, vap->va_rdev, &node);
423 tmpfs_dir_attach(dnode, de, node);
480 tmpfs_dir_attach(tmpfs_node_t *dnode, tmpfs_dirent_t *de, tmpfs_node_t *node)
482 struct vnode *dvp = dnode->tn_vnode;
490 de->td_seq = tmpfs_dir_getseq(dnode, de);
501 TAILQ_INSERT_TAIL(&dnode->tn_spec.tn_dir.tn_dir, de, td_entries);
502 dnode->tn_size += sizeof(tmpfs_dirent_t);
503 tmpfs_update(dnode, TMPFS_NODE_STATUSALL);
504 uvm_vnp_setsize(dvp, dnode->tn_size);
509 node->tn_spec.tn_dir.tn_parent = dnode;
512 KASSERT(dnode->tn_links < LINK_MAX);
513 dnode->tn_links++;
530 tmpfs_dir_detach(tmpfs_node_t *dnode, tmpfs_dirent_t *de)
533 struct vnode *vp, *dvp = dnode->tn_vnode;
551 KASSERT(node->tn_spec.tn_dir.tn_parent == dnode);
554 KASSERT(dnode->tn_links > 0);
555 dnode->tn_links--;
560 if (dnode->tn_spec.tn_dir.tn_readdir_lastp == de) {
561 dnode->tn_spec.tn_dir.tn_readdir_lastp = NULL;
563 TAILQ_REMOVE(&dnode->tn_spec.tn_dir.tn_dir, de, td_entries);
565 dnode->tn_size -= sizeof(tmpfs_dirent_t);
566 tmpfs_update(dnode, TMPFS_NODE_MODIFIED | TMPFS_NODE_CHANGED);
567 tmpfs_dir_putseq(dnode, de);
569 tmpfs_update(dnode, 0);
570 uvm_vnp_setsize(dvp, dnode->tn_size);
633 tmpfs_dir_getseq(tmpfs_node_t *dnode, tmpfs_dirent_t *de)
637 TMPFS_VALIDATE_DIR(dnode);
650 seq = dnode->tn_spec.tn_dir.tn_next_seq;
653 dnode->tn_spec.tn_dir.tn_next_seq++;
658 tmpfs_dir_putseq(tmpfs_node_t *dnode, tmpfs_dirent_t *de)
662 TMPFS_VALIDATE_DIR(dnode);
669 if (dnode->tn_size == 0) {
670 dnode->tn_spec.tn_dir.tn_next_seq = TMPFS_DIRSEQ_START;
672 seq == dnode->tn_spec.tn_dir.tn_next_seq - 1) {
673 dnode->tn_spec.tn_dir.tn_next_seq--;