Source-Changes-HG archive

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

[src/rmind-uvmplock]: src/sys/nfs nfs_gop_write: acquire the lock for pmap_pa...



details:   https://anonhg.NetBSD.org/src/rev/cc087fab115b
branches:  rmind-uvmplock
changeset: 753090:cc087fab115b
user:      rmind <rmind%NetBSD.org@localhost>
date:      Sun May 22 21:52:12 2011 +0000

description:
nfs_gop_write: acquire the lock for pmap_page_protect() operation.

diffstat:

 sys/nfs/nfs_node.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (31 lines):

diff -r 70e5f0c07665 -r cc087fab115b sys/nfs/nfs_node.c
--- a/sys/nfs/nfs_node.c        Sun May 22 04:29:04 2011 +0000
+++ b/sys/nfs/nfs_node.c        Sun May 22 21:52:12 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: nfs_node.c,v 1.110.4.4 2011/05/19 03:43:03 rmind Exp $ */
+/*     $NetBSD: nfs_node.c,v 1.110.4.5 2011/05/22 21:52:12 rmind Exp $ */
 
 /*
  * Copyright (c) 1989, 1993
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nfs_node.c,v 1.110.4.4 2011/05/19 03:43:03 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nfs_node.c,v 1.110.4.5 2011/05/22 21:52:12 rmind Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_nfs.h"
@@ -346,9 +346,12 @@
 {
        int i;
 
+       mutex_enter(vp->v_interlock);
        for (i = 0; i < npages; i++) {
                pmap_page_protect(pgs[i], VM_PROT_READ);
        }
+       mutex_exit(vp->v_interlock);
+
        return genfs_gop_write(vp, pgs, npages, flags);
 }
 



Home | Main Index | Thread Index | Old Index