Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Jan 2013 22:14:17 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r246171 - head/sys/kern
Message-ID:  <201301312214.r0VMEHl3047405@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301312214.r0VMEHl3047405>