summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1998-04-13 19:36:24 +0000
committerThomas Bushnell <thomas@gnu.org>1998-04-13 19:36:24 +0000
commit94208c9d3f46f221d50886a0304dd77f18b9882f (patch)
tree38fbb43f788bd2a227befbcc1280b9be4d9b55cd
parent75a6d72b6e15906968c8a545f923dbebb47b6402 (diff)
Tue Sep 23 15:28:57 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* file-reparent.c (diskfs_S_file_reparent): Use diskfs_nrele instead of protocol-violating up-tree lock. * peropen-rele.c (diskfs_release_peropen): Likewise.
-rw-r--r--libdiskfs/ChangeLog6
-rw-r--r--libdiskfs/file-reparent.c8
-rw-r--r--libdiskfs/peropen-rele.c6
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 <thomas@gnu.ai.mit.edu>
+
+ * 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 <miles@gnu.ai.mit.edu>
* 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);