svn commit: r246171 - head/sys/kern

Pawel Jakub Dawidek pjd at FreeBSD.org
Thu Jan 31 22:14:17 UTC 2013


Author: pjd
Date: Thu Jan 31 22:14:16 2013
New Revision: 246171
URL: http://svnweb.freebsd.org/changeset/base/246171

Log:
  Remove label that was accidentally moved during Giant removal from VFS.

Modified:
  head/sys/kern/kern_descrip.c

Modified: head/sys/kern/kern_descrip.c
==============================================================================
--- head/sys/kern/kern_descrip.c	Thu Jan 31 22:13:36 2013	(r246170)
+++ head/sys/kern/kern_descrip.c	Thu Jan 31 22:14:16 2013	(r246171)
@@ -779,8 +779,10 @@ kern_fcntl(struct thread *td, int fd, in
 		if (arg != 0) {
 			vp = fp->f_vnode;
 			error = vn_lock(vp, LK_SHARED);
-			if (error != 0)
-				goto readahead_vnlock_fail;
+			if (error != 0) {
+				fdrop(fp, td);
+				break;
+			}
 			bsize = fp->f_vnode->v_mount->mnt_stat.f_iosize;
 			VOP_UNLOCK(vp, 0);
 			fp->f_seqcount = (arg + bsize - 1) / bsize;
@@ -788,7 +790,6 @@ kern_fcntl(struct thread *td, int fd, in
 				new = old = fp->f_flag;
 				new |= FRDAHEAD;
 			} while (!atomic_cmpset_rel_int(&fp->f_flag, old, new));
-		readahead_vnlock_fail:;
 		} else {
 			do {
 				new = old = fp->f_flag;


More information about the svn-src-head mailing list