[Midnightbsd-cvs] src [8444] trunk/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c: use vfs_busy in travesere before calling VFS_ROOT
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Sep 18 17:48:38 EDT 2016
Revision: 8444
http://svnweb.midnightbsd.org/src/?rev=8444
Author: laffer1
Date: 2016-09-18 17:48:37 -0400 (Sun, 18 Sep 2016)
Log Message:
-----------
use vfs_busy in travesere before calling VFS_ROOT
Modified Paths:
--------------
trunk/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c
Modified: trunk/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c
===================================================================
--- trunk/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c 2016-09-18 21:48:12 UTC (rev 8443)
+++ trunk/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c 2016-09-18 21:48:37 UTC (rev 8444)
@@ -88,6 +88,7 @@
vfsp = vn_mountedvfs(cvp);
if (vfsp == NULL)
break;
+ error = vfs_busy(vfsp, 0);
/*
* tvp is NULL for *cvpp vnode, which we can't unlock.
*/
@@ -95,6 +96,8 @@
vput(cvp);
else
vrele(cvp);
+ if (error)
+ return (error);
/*
* The read lock must be held across the call to VFS_ROOT() to
@@ -101,6 +104,7 @@
* prevent a concurrent unmount from destroying the vfs.
*/
error = VFS_ROOT(vfsp, lktype, &tvp);
+ vfs_unbusy(vfsp);
if (error != 0)
return (error);
cvp = tvp;
More information about the Midnightbsd-cvs
mailing list