diff options
author | Thomas Bushnell <thomas@gnu.org> | 1998-04-13 19:36:24 +0000 |
---|---|---|
committer | Thomas Bushnell <thomas@gnu.org> | 1998-04-13 19:36:24 +0000 |
commit | 94208c9d3f46f221d50886a0304dd77f18b9882f (patch) | |
tree | 38fbb43f788bd2a227befbcc1280b9be4d9b55cd /libdiskfs | |
parent | 75a6d72b6e15906968c8a545f923dbebb47b6402 (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.
Diffstat (limited to 'libdiskfs')
-rw-r--r-- | libdiskfs/ChangeLog | 6 | ||||
-rw-r--r-- | libdiskfs/file-reparent.c | 8 | ||||
-rw-r--r-- | 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 <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); |