Date: Fri, 12 Jun 2009 21:19:57 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r194078 - head/sys/fs/cd9660 Message-ID: <200906122119.n5CLJvDt093221@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb Date: Fri Jun 12 21:19:57 2009 New Revision: 194078 URL: http://svn.freebsd.org/changeset/base/194078 Log: Update the inline version of vn_get_ino() for ".." lookups to match the recentish changes to vn_get_ino(). MFC after: 1 week Modified: head/sys/fs/cd9660/cd9660_lookup.c Modified: head/sys/fs/cd9660/cd9660_lookup.c ============================================================================== --- head/sys/fs/cd9660/cd9660_lookup.c Fri Jun 12 20:50:28 2009 (r194077) +++ head/sys/fs/cd9660/cd9660_lookup.c Fri Jun 12 21:19:57 2009 (r194078) @@ -374,15 +374,17 @@ found: */ mp = pdp->v_mount; ltype = VOP_ISLOCKED(pdp); - for (;;) { - error = vfs_busy(mp, MBF_NOWAIT); - if (error == 0) - break; + error = vfs_busy(mp, MBF_NOWAIT); + if (error != 0) { VOP_UNLOCK(pdp, 0); - pause("vn_vget", 1); + error = vfs_busy(mp, 0); vn_lock(pdp, ltype | LK_RETRY); - if (pdp->v_iflag & VI_DOOMED) + if (error) + return (ENOENT); + if (pdp->v_iflag & VI_DOOMED) { + vfs_unbusy(mp); return (ENOENT); + } } VOP_UNLOCK(pdp, 0); 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?200906122119.n5CLJvDt093221>