Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Oct 2013 18:45:02 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r256213 - head/sys/kern
Message-ID:  <201310091845.r99Ij2mu054153@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help

Author: kib
Date: Wed Oct  9 18:45:01 2013
New Revision: 256213
URL: http://svnweb.freebsd.org/changeset/base/256213

Log:
  The device vnodes are often unlocked when bread() or bwrite() is
  called.  This probably should be fixed eventually, but for now it is
  not needed to try to flush such vnodes from the buffer allocation
  context.
  
  Reported and tested by:	pho
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week
  Approved by:	re (gjb)

Modified:
  head/sys/kern/vfs_bio.c

Modified: head/sys/kern/vfs_bio.c
==============================================================================
--- head/sys/kern/vfs_bio.c	Wed Oct  9 18:44:05 2013	(r256212)
+++ head/sys/kern/vfs_bio.c	Wed Oct  9 18:45:01 2013	(r256213)
@@ -2076,7 +2076,8 @@ getnewbuf_bufd_help(struct vnode *vp, in
 	wait = MNT_NOWAIT;
 	mtx_lock(&nblock);
 	while (needsbuffer & flags) {
-		if (vp != NULL && (td->td_pflags & TDP_BUFNEED) == 0) {
+		if (vp != NULL && vp->v_type != VCHR &&
+		    (td->td_pflags & TDP_BUFNEED) == 0) {
 			mtx_unlock(&nblock);
 
 			/*



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