summaryrefslogtreecommitdiff
path: root/libdiskfs/io-identity.c
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1996-08-15 20:38:21 +0000
committerThomas Bushnell <thomas@gnu.org>1996-08-15 20:38:21 +0000
commitde9c596797043f7e23e08f1eefb8942af3a0d715 (patch)
treea32b58e390987abc085f29e11ad2fbeaa0407d3f /libdiskfs/io-identity.c
parente8ac42dc5d09570b2a65b411a966880f67a792a9 (diff)
(diskfs_S_io_identity): Don't hold lock around call to
fshelp_get_identity.
Diffstat (limited to 'libdiskfs/io-identity.c')
-rw-r--r--libdiskfs/io-identity.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libdiskfs/io-identity.c b/libdiskfs/io-identity.c
index 2cd64907..4734a534 100644
--- a/libdiskfs/io-identity.c
+++ b/libdiskfs/io-identity.c
@@ -32,14 +32,17 @@ diskfs_S_io_identity (struct protid *cred,
{
struct node *np;
error_t err;
+ ino_t inum;
if (!cred)
return EOPNOTSUPP;
np = cred->po->np;
mutex_lock (&np->lock);
-
- err = fshelp_get_identity (diskfs_port_bucket, np->dn_stat.st_ino, id);
+ inum = np->dn_stat.st_ino;
+ mutex_unlock (&np->lock);
+
+ err = fshelp_get_identity (diskfs_port_bucket, inum, id);
if (!err)
{
*idtype = MACH_MSG_TYPE_MAKE_SEND;