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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to