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;
}