Module Name:    src
Committed By:   pooka
Date:           Thu Oct 15 00:32:11 UTC 2009

Modified Files:
        src/sys/rump/include/rump: rumpvnode_if.h
        src/sys/rump/librump/rumpvfs: rumpvnode_if.c

Log Message:
regen: scheduling points


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/include/rump/rumpvnode_if.h
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/librump/rumpvfs/rumpvnode_if.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/rump/include/rump/rumpvnode_if.h
diff -u src/sys/rump/include/rump/rumpvnode_if.h:1.3 src/sys/rump/include/rump/rumpvnode_if.h:1.4
--- src/sys/rump/include/rump/rumpvnode_if.h:1.3	Tue Sep 29 11:54:52 2009
+++ src/sys/rump/include/rump/rumpvnode_if.h	Thu Oct 15 00:32:11 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpvnode_if.h,v 1.3 2009/09/29 11:54:52 pooka Exp $	*/
+/*	$NetBSD: rumpvnode_if.h,v 1.4 2009/10/15 00:32:11 pooka Exp $	*/
 
 /*
  * Warning: DO NOT EDIT! This file is automatically generated!
@@ -7,7 +7,7 @@
  * Created from the file:
  *	NetBSD: vnode_if.src,v 1.58 2008/11/15 19:08:12 pooka Exp
  * by the script:
- *	NetBSD: vnode_if.sh,v 1.52 2009/09/29 11:51:02 pooka Exp
+ *	NetBSD: vnode_if.sh,v 1.53 2009/10/15 00:29:40 pooka Exp
  */
 
 /*

Index: src/sys/rump/librump/rumpvfs/rumpvnode_if.c
diff -u src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.2 src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.3
--- src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.2	Tue Sep 29 11:54:52 2009
+++ src/sys/rump/librump/rumpvfs/rumpvnode_if.c	Thu Oct 15 00:32:11 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpvnode_if.c,v 1.2 2009/09/29 11:54:52 pooka Exp $	*/
+/*	$NetBSD: rumpvnode_if.c,v 1.3 2009/10/15 00:32:11 pooka Exp $	*/
 
 /*
  * Warning: DO NOT EDIT! This file is automatically generated!
@@ -7,7 +7,7 @@
  * Created from the file:
  *	NetBSD: vnode_if.src,v 1.58 2008/11/15 19:08:12 pooka Exp
  * by the script:
- *	NetBSD: vnode_if.sh,v 1.52 2009/09/29 11:51:02 pooka Exp
+ *	NetBSD: vnode_if.sh,v 1.53 2009/10/15 00:29:40 pooka Exp
  */
 
 /*
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.2 2009/09/29 11:54:52 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.3 2009/10/15 00:32:11 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/mount.h>
@@ -48,6 +48,7 @@
 #include <sys/vnode.h>
 #include <sys/lock.h>
 #include <rump/rumpvnode_if.h>
+#include "rump_private.h"
 
 const struct vnodeop_desc rump_vop_default_desc = {
 	0,
@@ -85,9 +86,11 @@
 	a.a_desc = VDESC(rump_vop_bwrite);
 	a.a_bp = bp;
 	mpsafe = (bp->b_vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(bp->b_vp, VOFFSET(rump_vop_bwrite), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -120,9 +123,11 @@
 	a.a_vpp = vpp;
 	a.a_cnp = cnp;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_lookup), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 #ifdef DIAGNOSTIC
 	if (error == 0)
 		KASSERT((*vpp)->v_size != VSIZENOTSET
@@ -160,9 +165,11 @@
 	a.a_cnp = cnp;
 	a.a_vap = vap;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_create), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 #ifdef DIAGNOSTIC
 	if (error == 0)
 		KASSERT((*vpp)->v_size != VSIZENOTSET
@@ -200,9 +207,11 @@
 	a.a_cnp = cnp;
 	a.a_vap = vap;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_mknod), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 #ifdef DIAGNOSTIC
 	if (error == 0)
 		KASSERT((*vpp)->v_size != VSIZENOTSET
@@ -238,9 +247,11 @@
 	a.a_mode = mode;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_open), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -271,9 +282,11 @@
 	a.a_fflag = fflag;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_close), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -304,9 +317,11 @@
 	a.a_mode = mode;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_access), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -337,9 +352,11 @@
 	a.a_vap = vap;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_getattr), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -370,9 +387,11 @@
 	a.a_vap = vap;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_setattr), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -405,9 +424,11 @@
 	a.a_ioflag = ioflag;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_read), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -440,9 +461,11 @@
 	a.a_ioflag = ioflag;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_write), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -477,9 +500,11 @@
 	a.a_fflag = fflag;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_ioctl), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -514,9 +539,11 @@
 	a.a_fflag = fflag;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_fcntl), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -545,9 +572,11 @@
 	a.a_vp = vp;
 	a.a_events = events;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_poll), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -576,9 +605,11 @@
 	a.a_vp = vp;
 	a.a_kn = kn;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_kqfilter), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -607,9 +638,11 @@
 	a.a_vp = vp;
 	a.a_flags = flags;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_revoke), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -640,9 +673,11 @@
 	a.a_prot = prot;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_mmap), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -677,9 +712,11 @@
 	a.a_offlo = offlo;
 	a.a_offhi = offhi;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_fsync), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -712,9 +749,11 @@
 	a.a_newoff = newoff;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_seek), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -746,9 +785,11 @@
 	a.a_vp = vp;
 	a.a_cnp = cnp;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_remove), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -780,9 +821,11 @@
 	a.a_vp = vp;
 	a.a_cnp = cnp;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_link), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -822,9 +865,11 @@
 	a.a_tvp = tvp;
 	a.a_tcnp = tcnp;
 	mpsafe = (fdvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(fdvp, VOFFSET(rump_vop_rename), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -857,9 +902,11 @@
 	a.a_cnp = cnp;
 	a.a_vap = vap;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_mkdir), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 #ifdef DIAGNOSTIC
 	if (error == 0)
 		KASSERT((*vpp)->v_size != VSIZENOTSET
@@ -896,9 +943,11 @@
 	a.a_vp = vp;
 	a.a_cnp = cnp;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_rmdir), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -933,9 +982,11 @@
 	a.a_vap = vap;
 	a.a_target = target;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_symlink), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 #ifdef DIAGNOSTIC
 	if (error == 0)
 		KASSERT((*vpp)->v_size != VSIZENOTSET
@@ -977,9 +1028,11 @@
 	a.a_cookies = cookies;
 	a.a_ncookies = ncookies;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_readdir), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1010,9 +1063,11 @@
 	a.a_uio = uio;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_readlink), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1041,9 +1096,11 @@
 	a.a_dvp = dvp;
 	a.a_cnp = cnp;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_abortop), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1072,9 +1129,11 @@
 	a.a_vp = vp;
 	a.a_recycle = recycle;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_inactive), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1101,9 +1160,11 @@
 	a.a_desc = VDESC(rump_vop_reclaim);
 	a.a_vp = vp;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_reclaim), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1132,9 +1193,11 @@
 	a.a_vp = vp;
 	a.a_flags = flags;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_lock), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1163,9 +1226,11 @@
 	a.a_vp = vp;
 	a.a_flags = flags;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_unlock), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1200,9 +1265,11 @@
 	a.a_bnp = bnp;
 	a.a_runp = runp;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_bmap), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1231,9 +1298,11 @@
 	a.a_vp = vp;
 	a.a_bp = bp;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_strategy), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1260,9 +1329,11 @@
 	a.a_desc = VDESC(rump_vop_print);
 	a.a_vp = vp;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_print), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1289,9 +1360,11 @@
 	a.a_desc = VDESC(rump_vop_islocked);
 	a.a_vp = vp;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_islocked), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1322,9 +1395,11 @@
 	a.a_name = name;
 	a.a_retval = retval;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_pathconf), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1359,9 +1434,11 @@
 	a.a_fl = fl;
 	a.a_flags = flags;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_advlock), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1392,9 +1469,11 @@
 	a.a_cnp = cnp;
 	a.a_flags = flags;
 	mpsafe = (dvp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(dvp, VOFFSET(rump_vop_whiteout), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1435,9 +1514,11 @@
 	a.a_advice = advice;
 	a.a_flags = flags;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_getpages), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1470,9 +1551,11 @@
 	a.a_offhi = offhi;
 	a.a_flags = flags;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_putpages), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1503,9 +1586,11 @@
 	a.a_commit = commit;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_closeextattr), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1542,9 +1627,11 @@
 	a.a_size = size;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_getextattr), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1579,9 +1666,11 @@
 	a.a_size = size;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_listextattr), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1610,9 +1699,11 @@
 	a.a_vp = vp;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_openextattr), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1645,9 +1736,11 @@
 	a.a_name = name;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_deleteextattr), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 
@@ -1682,9 +1775,11 @@
 	a.a_uio = uio;
 	a.a_cred = cred;
 	mpsafe = (vp->v_vflag & VV_MPSAFE);
+	rump_schedule();
 	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
 	error = (VCALL(vp, VOFFSET(rump_vop_setextattr), &a));
 	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	rump_unschedule();
 	return error;
 }
 

Reply via email to