]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/miscfs/union/union_vnops.c
xnu-517.tar.gz
[apple/xnu.git] / bsd / miscfs / union / union_vnops.c
index e8a9f20a19016ba7306e831c23720fddf5279f7b..2d89cce55c3c6600229149e2197f39aae831e763 100644 (file)
@@ -154,10 +154,10 @@ union_lookup1(udvp, dvpp, vpp, cnp)
         */
        while (dvp != udvp && (dvp->v_type == VDIR) &&
               (mp = dvp->v_mountedhere)) {
-
-               if (vfs_busy(mp, 0, 0, p))
-                       continue;
-
+               if (vfs_busy(mp, LK_NOWAIT, 0, p)) {
+                       vput(dvp);
+                       return(ENOENT);
+               }
                error = VFS_ROOT(mp, &tdvp);
                vfs_unbusy(mp, p);
                if (error) {