svn commit: r194078 - head/sys/fs/cd9660
John Baldwin
jhb at FreeBSD.org
Fri Jun 12 21:19:57 UTC 2009
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,
More information about the svn-src-all
mailing list