summaryrefslogtreecommitdiffstats
path: root/sys/fs/udf
diff options
context:
space:
mode:
authortanimura <tanimura@FreeBSD.org>2005-07-09 13:52:49 +0000
committertanimura <tanimura@FreeBSD.org>2005-07-09 13:52:49 +0000
commitf03d3eb58cdc293249a6a2dc1db70c9f79379768 (patch)
tree69a80fb6cab728afed64cc8365b84c91fc05cf5b /sys/fs/udf
parent5910b0e97008755b1f687974ad75e35924330296 (diff)
downloadFreeBSD-src-f03d3eb58cdc293249a6a2dc1db70c9f79379768.zip
FreeBSD-src-f03d3eb58cdc293249a6a2dc1db70c9f79379768.tar.gz
Regrab dvp only when ISDOTDOT.
Approved by: re (scottl)
Diffstat (limited to 'sys/fs/udf')
-rw-r--r--sys/fs/udf/udf_vnops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/udf/udf_vnops.c b/sys/fs/udf/udf_vnops.c
index a3f6e3d..cd0dc07 100644
--- a/sys/fs/udf/udf_vnops.c
+++ b/sys/fs/udf/udf_vnops.c
@@ -915,7 +915,8 @@ lookloop:
if (flags & ISDOTDOT)
VOP_UNLOCK(dvp, 0, a->a_cnp->cn_thread);
error = udf_vget(udfmp->im_mountp, id, LK_EXCLUSIVE, &tdp);
- vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY, a->a_cnp->cn_thread);
+ if (flags & ISDOTDOT)
+ vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY, a->a_cnp->cn_thread);
if (!error) {
/*
* Remember where this entry was if it's the final
OpenPOWER on IntegriCloud