Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/nfs Change previous patch to have same effect as patch p...



details:   https://anonhg.NetBSD.org/src/rev/807bd48fee89
branches:  trunk
changeset: 555420:807bd48fee89
user:      jonathan <jonathan%NetBSD.org@localhost>
date:      Mon Nov 17 01:44:49 2003 +0000

description:
Change previous patch to have same effect as patch posted to
tech-kern. Suggested reformatting inadvertently changed the meaning of
the code, as noted by YAMAMOTO Takashi <yamt%mwd.biglobe.ne.jp@localhost>.

diffstat:

 sys/nfs/nfs_bio.c |  14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diffs (38 lines):

diff -r c907ade54605 -r 807bd48fee89 sys/nfs/nfs_bio.c
--- a/sys/nfs/nfs_bio.c Mon Nov 17 00:28:32 2003 +0000
+++ b/sys/nfs/nfs_bio.c Mon Nov 17 01:44:49 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: nfs_bio.c,v 1.111 2003/11/17 00:28:32 jonathan Exp $   */
+/*     $NetBSD: nfs_bio.c,v 1.112 2003/11/17 01:44:49 jonathan Exp $   */
 
 /*
  * Copyright (c) 1989, 1993
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nfs_bio.c,v 1.111 2003/11/17 00:28:32 jonathan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nfs_bio.c,v 1.112 2003/11/17 01:44:49 jonathan Exp $");
 
 #include "opt_nfs.h"
 #include "opt_ddb.h"
@@ -845,13 +845,15 @@
         * XXX: start non-loopback mounts straight away?  If "lots free",
         * let pagedaemon start loopback writes anyway?
         */
-       if (gotiod && (curproc != uvm.pagedaemon_proc)) {
-
+       if (gotiod) {
+         
                /*
                 * Ensure that the queue never grows too large.
                 */
-
-               while (nmp->nm_bufqlen >= 2*nfs_numasync) {
+               if (curproc == uvm.pagedaemon_proc)) {
+                       /* Enque for later, to avoid free-page deadlock */
+                         (void) 0;
+               } else while (nmp->nm_bufqlen >= 2*nfs_numasync) {
                        nmp->nm_bufqwant = TRUE;
                        error = ltsleep(&nmp->nm_bufq,
                            slpflag | PRIBIO | PNORELOCK,



Home | Main Index | Thread Index | Old Index