tn_dir
} tn_dir;
#define tn_dir tn_spec.tn_dir
RB_INIT(&nnode->tn_dir.tn_dirtree);
RB_INIT(&nnode->tn_dir.tn_cookietree);
nnode->tn_dir.tn_parent = NULL;
if (node1->tn_dir.tn_parent != node2 &&
(node1 < node2 || node2->tn_dir.tn_parent == node1)) {
KKASSERT(node->tn_dir.tn_parent == NULL);
if (dnode != tmp->tm_root && dnode->tn_dir.tn_parent == NULL) {
node->tn_dir.tn_parent = dnode;
de2 = RB_INSERT(tmpfs_dirtree, &dnode->tn_dir.tn_dirtree, de);
de2 = RB_INSERT(tmpfs_dirtree_cookie, &dnode->tn_dir.tn_cookietree, de);
RB_REMOVE(tmpfs_dirtree, &dnode->tn_dir.tn_dirtree, de);
RB_REMOVE(tmpfs_dirtree_cookie, &dnode->tn_dir.tn_cookietree, de);
if (node && node->tn_type == VDIR && node->tn_dir.tn_parent) {
KKASSERT(node->tn_dir.tn_parent == dnode);
node->tn_dir.tn_parent = NULL;
de = RB_FIND(tmpfs_dirtree, &node->tn_dir.tn_dirtree, &wanted);
if (node->tn_dir.tn_parent) {
if (node->tn_dir.tn_parent)
d_ino = node->tn_dir.tn_parent->tn_id;
de = RB_MIN(tmpfs_dirtree_cookie, &node->tn_dir.tn_cookietree);
RB_SCAN(tmpfs_dirtree_cookie, &node->tn_dir.tn_cookietree,
tmp = RB_ROOT(&node->tn_dir.tn_cookietree);
node->tn_dir.tn_cookietree, de);
while ((de = RB_ROOT(&node->tn_dir.tn_dirtree)) != NULL) {
if (dnode != tmp->tm_root && dnode->tn_dir.tn_parent == NULL) {
if (tdnode != tmp->tm_root && tdnode->tn_dir.tn_parent == NULL) {
RB_REMOVE(tmpfs_dirtree, &fdnode->tn_dir.tn_dirtree, de);
&fdnode->tn_dir.tn_cookietree, de);
de2 = RB_INSERT(tmpfs_dirtree, &tdnode->tn_dir.tn_dirtree, de);
&tdnode->tn_dir.tn_cookietree, de);
KKASSERT(node->tn_dir.tn_parent == dnode);
&node->tn_dir.tn_cookietree);
&node->tn_dir.tn_cookietree, de);
&node->tn_dir.tn_cookietree, de);
if (dnode->tn_dir.tn_parent != NULL) {
NULL, dnode->tn_dir.tn_parent,