diff options
author | Michael I. Bushnell <mib@gnu.org> | 1996-04-23 15:14:33 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1996-04-23 15:14:33 +0000 |
commit | 08c30d78151d6e0166c82272c9e3293acdf08a6b (patch) | |
tree | a73a5b83f4a00150804ae3186abe973bdebccf02 /libdiskfs | |
parent | 2bf9d0efe4e898b412401639382d78d5cad72a30 (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.c | 16 |
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); } |