summaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1996-04-23 15:14:33 +0000
committerMichael I. Bushnell <mib@gnu.org>1996-04-23 15:14:33 +0000
commit08c30d78151d6e0166c82272c9e3293acdf08a6b (patch)
treea73a5b83f4a00150804ae3186abe973bdebccf02 /libdiskfs
parent2bf9d0efe4e898b412401639382d78d5cad72a30 (diff)
(diskfs_drop_node): Don't do anything special for socket naming
points. In fact, if this node still is one, there is a bug, because such naming points hold references now.
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/node-drop.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/libdiskfs/node-drop.c b/libdiskfs/node-drop.c
index 9947beef..1e0c1236 100644
--- a/libdiskfs/node-drop.c
+++ b/libdiskfs/node-drop.c
@@ -54,6 +54,8 @@ diskfs_drop_node (struct node *np)
return;
}
+ assert (np->dn_stat.st_size == 0);
+
savemode = np->dn_stat.st_mode;
np->dn_stat.st_mode = 0;
np->dn_stat.st_rdev = 0;
@@ -61,16 +63,6 @@ diskfs_drop_node (struct node *np)
diskfs_node_update (np, 1);
diskfs_free_node (np, savemode);
}
- else if (np->sockaddr)
- /* If NP is a socket naming point, we can't drop it until it actually
- gets unlinked. Unfortunately we have no way of knowing whether the
- server is still alive. This will result in a node with zero refs; I'm
- not sure whether that will cause lossage.... XXX */
- {
- spin_unlock (&diskfs_node_refcnt_lock);
- mutex_unlock (&np->lock);
- return;
- }
else
diskfs_node_update (np, diskfs_synchronous);
@@ -86,10 +78,8 @@ diskfs_drop_node (struct node *np)
free (dm);
}
}
- if (np->sockaddr)
- mach_port_deallocate (mach_task_self (), np->sockaddr);
+ assert (!np->sockaddr);
- _diskfs_purge_cache_deletion (np);
diskfs_node_norefs (np);
spin_unlock (&diskfs_node_refcnt_lock);
}