From 94208c9d3f46f221d50886a0304dd77f18b9882f Mon Sep 17 00:00:00 2001 From: Thomas Bushnell Date: Mon, 13 Apr 1998 19:36:24 +0000 Subject: Tue Sep 23 15:28:57 1997 Thomas Bushnell, n/BSG * file-reparent.c (diskfs_S_file_reparent): Use diskfs_nrele instead of protocol-violating up-tree lock. * peropen-rele.c (diskfs_release_peropen): Likewise. --- libdiskfs/ChangeLog | 6 ++++++ libdiskfs/file-reparent.c | 8 +++----- libdiskfs/peropen-rele.c | 6 ++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/libdiskfs/ChangeLog b/libdiskfs/ChangeLog index 9ba1e112..4a9ab16b 100644 --- a/libdiskfs/ChangeLog +++ b/libdiskfs/ChangeLog @@ -1,3 +1,9 @@ +Tue Sep 23 15:28:57 1997 Thomas Bushnell, n/BSG + + * file-reparent.c (diskfs_S_file_reparent): Use diskfs_nrele + instead of protocol-violating up-tree lock. + * peropen-rele.c (diskfs_release_peropen): Likewise. + 1997-09-18 Miles Bader * priv.h (fs_control_port): Declaration removed. diff --git a/libdiskfs/file-reparent.c b/libdiskfs/file-reparent.c index 2520c8a2..d04cd798 100644 --- a/libdiskfs/file-reparent.c +++ b/libdiskfs/file-reparent.c @@ -46,12 +46,10 @@ diskfs_S_file_reparent (struct protid *cred, mach_port_t parent, { /* Remove old shadow root state. */ if (new_cred->po->shadow_root && new_cred->po->shadow_root != node) - { - mutex_lock (&new_cred->po->shadow_root->lock); - diskfs_nput (new_cred->po->shadow_root); - } + diskfs_nrele (new_cred->po->shadow_root); if (new_cred->po->shadow_root_parent) - mach_port_deallocate (mach_task_self (), new_cred->po->shadow_root_parent); + mach_port_deallocate (mach_task_self (), + new_cred->po->shadow_root_parent); /* And install PARENT instead. */ new_cred->po->shadow_root = node; diff --git a/libdiskfs/peropen-rele.c b/libdiskfs/peropen-rele.c index 4b90aef5..6974e86a 100644 --- a/libdiskfs/peropen-rele.c +++ b/libdiskfs/peropen-rele.c @@ -34,10 +34,8 @@ diskfs_release_peropen (struct peropen *po) mach_port_deallocate (mach_task_self (), po->root_parent); if (po->shadow_root && po->shadow_root != po->np) - { - mutex_lock (&po->shadow_root->lock); - diskfs_nput (po->shadow_root); - } + diskfs_nrele (po->shadow_root); + if (po->shadow_root_parent) mach_port_deallocate (mach_task_self (), po->shadow_root_parent); -- cgit v1.2.3