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);
 
                        /*
_______________________________________________
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