Date: Fri, 19 Jun 2009 18:18:09 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r194502 - in stable/7/sys: . contrib/pf fs/cd9660 Message-ID: <200906191818.n5JII9IT051701@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb Date: Fri Jun 19 18:18:09 2009 New Revision: 194502 URL: http://svn.freebsd.org/changeset/base/194502 Log: MFC: Update the inline version of vn_vget_ino() for ".." lookups to match the recentish changes to vn_vget_ino(). Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/fs/cd9660/cd9660_lookup.c Modified: stable/7/sys/fs/cd9660/cd9660_lookup.c ============================================================================== --- stable/7/sys/fs/cd9660/cd9660_lookup.c Fri Jun 19 17:59:29 2009 (r194501) +++ stable/7/sys/fs/cd9660/cd9660_lookup.c Fri Jun 19 18:18:09 2009 (r194502) @@ -375,15 +375,17 @@ found: */ mp = pdp->v_mount; ltype = VOP_ISLOCKED(pdp, td); - for (;;) { - error = vfs_busy(mp, LK_NOWAIT, NULL, curthread); - if (error == 0) - break; + error = vfs_busy(mp, LK_NOWAIT, NULL, td); + if (error != 0) { VOP_UNLOCK(pdp, 0, td); - pause("vn_vget", 1); + error = vfs_busy(mp, 0, NULL, td); vn_lock(pdp, ltype | LK_RETRY, td); - if (pdp->v_iflag & VI_DOOMED) + if (error) + return (ENOENT); + if (pdp->v_iflag & VI_DOOMED) { + vfs_unbusy(mp, td); return (ENOENT); + } } VOP_UNLOCK(pdp, 0, td); error = cd9660_vget_internal(vdp->v_mount, i_ino,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906191818.n5JII9IT051701>