summaryrefslogtreecommitdiffstats
path: root/sys/fs/nwfs
diff options
context:
space:
mode:
authorups <ups@FreeBSD.org>2006-05-25 17:16:11 +0000
committerups <ups@FreeBSD.org>2006-05-25 17:16:11 +0000
commitd193a40233ed361bf9ca9e0f20a916ea5f52995c (patch)
treef2ac3a3c863f65e336fb1af19054d9b1d90876cc /sys/fs/nwfs
parent032282fd7ed46086875bc10c4810095d40fe6dc4 (diff)
downloadFreeBSD-src-d193a40233ed361bf9ca9e0f20a916ea5f52995c.zip
FreeBSD-src-d193a40233ed361bf9ca9e0f20a916ea5f52995c.tar.gz
Call vm_object_page_clean() with the object lock held.
Submitted by: kensmith@ Reviewed by: mohans@ MFC after: 6 days
Diffstat (limited to 'sys/fs/nwfs')
-rw-r--r--sys/fs/nwfs/nwfs_io.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/fs/nwfs/nwfs_io.c b/sys/fs/nwfs/nwfs_io.c
index 84ae3cd..b74cd4a 100644
--- a/sys/fs/nwfs/nwfs_io.c
+++ b/sys/fs/nwfs/nwfs_io.c
@@ -612,8 +612,11 @@ nwfs_vinvalbuf(vp, td)
}
np->n_flag |= NFLUSHINPROG;
- if (vp->v_bufobj.bo_object != NULL)
+ if (vp->v_bufobj.bo_object != NULL) {
+ VM_OBJECT_LOCK(vp->v_bufobj.bo_object);
vm_object_page_clean(vp->v_bufobj.bo_object, 0, 0, OBJPC_SYNC);
+ VM_OBJECT_UNLOCK(vp->v_bufobj.bo_object);
+ }
error = vinvalbuf(vp, V_SAVE, td, PCATCH, 0);
while (error) {
OpenPOWER on IntegriCloud