Home | History | Annotate | Line # | Download | only in rumpvfs
rumpvnode_if.c revision 1.40.4.1
      1      1.20     pooka /*	$NetBSD: rumpvnode_if.c,v 1.40.4.1 2023/06/21 16:52:28 martin Exp $	*/
      2       1.1     pooka 
      3       1.1     pooka /*
      4       1.1     pooka  * Warning: DO NOT EDIT! This file is automatically generated!
      5       1.1     pooka  * (Modifications made here may easily be lost!)
      6       1.1     pooka  *
      7       1.1     pooka  * Created from the file:
      8  1.40.4.1    martin  *	NetBSD: vnode_if.src,v 1.84.4.1 2023/06/21 16:50:21 martin Exp
      9       1.1     pooka  * by the script:
     10  1.40.4.1    martin  *	NetBSD: vnode_if.sh,v 1.77 2022/10/26 23:39:43 riastradh Exp
     11       1.1     pooka  */
     12       1.1     pooka 
     13       1.1     pooka /*
     14       1.1     pooka  * Copyright (c) 1992, 1993, 1994, 1995
     15       1.1     pooka  *	The Regents of the University of California.  All rights reserved.
     16       1.1     pooka  *
     17       1.1     pooka  * Redistribution and use in source and binary forms, with or without
     18       1.1     pooka  * modification, are permitted provided that the following conditions
     19       1.1     pooka  * are met:
     20       1.1     pooka  * 1. Redistributions of source code must retain the above copyright
     21       1.1     pooka  *    notice, this list of conditions and the following disclaimer.
     22       1.1     pooka  * 2. Redistributions in binary form must reproduce the above copyright
     23       1.1     pooka  *    notice, this list of conditions and the following disclaimer in the
     24       1.1     pooka  *    documentation and/or other materials provided with the distribution.
     25       1.1     pooka  * 3. Neither the name of the University nor the names of its contributors
     26       1.1     pooka  *    may be used to endorse or promote products derived from this software
     27       1.1     pooka  *    without specific prior written permission.
     28       1.1     pooka  *
     29       1.1     pooka  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     30       1.1     pooka  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     31       1.1     pooka  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     32       1.1     pooka  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     33       1.1     pooka  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     34       1.1     pooka  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     35       1.1     pooka  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     36       1.1     pooka  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     37       1.1     pooka  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     38       1.1     pooka  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     39       1.1     pooka  * SUCH DAMAGE.
     40       1.1     pooka  */
     41       1.1     pooka 
     42       1.1     pooka #include <sys/cdefs.h>
     43      1.20     pooka __KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.40.4.1 2023/06/21 16:52:28 martin Exp $");
     44       1.1     pooka 
     45       1.1     pooka #include <sys/param.h>
     46       1.1     pooka #include <sys/mount.h>
     47       1.1     pooka #include <sys/buf.h>
     48      1.37   thorpej #include <sys/fcntl.h>
     49       1.1     pooka #include <sys/vnode.h>
     50       1.1     pooka #include <sys/lock.h>
     51      1.20     pooka #include <rump/rumpvnode_if.h>
     52      1.19     pooka #include <rump-sys/kern.h>
     53      1.19     pooka 
     54       1.1     pooka int
     55      1.10   hannken RUMP_VOP_BWRITE(struct vnode *vp,
     56      1.10   hannken     struct buf *bp)
     57       1.1     pooka {
     58       1.1     pooka 	int error;
     59       1.6     pooka 
     60       1.6     pooka 	rump_schedule();
     61      1.10   hannken 	error = VOP_BWRITE(vp, bp);
     62       1.3     pooka 	rump_unschedule();
     63       1.6     pooka 
     64       1.1     pooka 	return error;
     65       1.1     pooka }
     66       1.1     pooka 
     67       1.1     pooka int
     68      1.35  dholland RUMP_VOP_PARSEPATH(struct vnode *dvp,
     69      1.35  dholland     const char *name,
     70      1.35  dholland     size_t *retval)
     71      1.35  dholland {
     72      1.35  dholland 	int error;
     73      1.35  dholland 
     74      1.35  dholland 	rump_schedule();
     75      1.35  dholland 	error = VOP_PARSEPATH(dvp, name, retval);
     76      1.35  dholland 	rump_unschedule();
     77      1.35  dholland 
     78      1.35  dholland 	return error;
     79      1.35  dholland }
     80      1.35  dholland 
     81      1.35  dholland int
     82       1.1     pooka RUMP_VOP_LOOKUP(struct vnode *dvp,
     83       1.1     pooka     struct vnode **vpp,
     84       1.1     pooka     struct componentname *cnp)
     85       1.1     pooka {
     86       1.1     pooka 	int error;
     87       1.6     pooka 
     88       1.6     pooka 	rump_schedule();
     89       1.6     pooka 	error = VOP_LOOKUP(dvp, vpp, cnp);
     90       1.6     pooka 	rump_unschedule();
     91       1.6     pooka 
     92       1.1     pooka 	return error;
     93       1.1     pooka }
     94       1.1     pooka 
     95       1.1     pooka int
     96       1.1     pooka RUMP_VOP_CREATE(struct vnode *dvp,
     97       1.1     pooka     struct vnode **vpp,
     98       1.1     pooka     struct componentname *cnp,
     99       1.1     pooka     struct vattr *vap)
    100       1.1     pooka {
    101       1.1     pooka 	int error;
    102       1.6     pooka 
    103       1.6     pooka 	rump_schedule();
    104       1.6     pooka 	error = VOP_CREATE(dvp, vpp, cnp, vap);
    105       1.6     pooka 	rump_unschedule();
    106       1.6     pooka 
    107       1.1     pooka 	return error;
    108       1.1     pooka }
    109       1.1     pooka 
    110       1.1     pooka int
    111       1.1     pooka RUMP_VOP_MKNOD(struct vnode *dvp,
    112       1.1     pooka     struct vnode **vpp,
    113       1.1     pooka     struct componentname *cnp,
    114       1.1     pooka     struct vattr *vap)
    115       1.1     pooka {
    116       1.1     pooka 	int error;
    117       1.6     pooka 
    118       1.6     pooka 	rump_schedule();
    119       1.6     pooka 	error = VOP_MKNOD(dvp, vpp, cnp, vap);
    120       1.6     pooka 	rump_unschedule();
    121       1.6     pooka 
    122       1.1     pooka 	return error;
    123       1.1     pooka }
    124       1.1     pooka 
    125       1.1     pooka int
    126       1.1     pooka RUMP_VOP_OPEN(struct vnode *vp,
    127       1.1     pooka     int mode,
    128       1.6     pooka     struct kauth_cred *cred)
    129       1.1     pooka {
    130       1.1     pooka 	int error;
    131       1.6     pooka 
    132       1.6     pooka 	rump_schedule();
    133       1.6     pooka 	error = VOP_OPEN(vp, mode, cred);
    134       1.3     pooka 	rump_unschedule();
    135       1.6     pooka 
    136       1.1     pooka 	return error;
    137       1.1     pooka }
    138       1.1     pooka 
    139       1.1     pooka int
    140       1.1     pooka RUMP_VOP_CLOSE(struct vnode *vp,
    141       1.1     pooka     int fflag,
    142       1.6     pooka     struct kauth_cred *cred)
    143       1.1     pooka {
    144       1.1     pooka 	int error;
    145       1.6     pooka 
    146       1.6     pooka 	rump_schedule();
    147       1.6     pooka 	error = VOP_CLOSE(vp, fflag, cred);
    148       1.3     pooka 	rump_unschedule();
    149       1.6     pooka 
    150       1.1     pooka 	return error;
    151       1.1     pooka }
    152       1.1     pooka 
    153       1.1     pooka int
    154       1.1     pooka RUMP_VOP_ACCESS(struct vnode *vp,
    155      1.34  christos     accmode_t accmode,
    156       1.6     pooka     struct kauth_cred *cred)
    157       1.1     pooka {
    158       1.1     pooka 	int error;
    159       1.6     pooka 
    160       1.6     pooka 	rump_schedule();
    161      1.34  christos 	error = VOP_ACCESS(vp, accmode, cred);
    162      1.34  christos 	rump_unschedule();
    163      1.34  christos 
    164      1.34  christos 	return error;
    165      1.34  christos }
    166      1.34  christos 
    167      1.34  christos int
    168      1.34  christos RUMP_VOP_ACCESSX(struct vnode *vp,
    169      1.34  christos     accmode_t accmode,
    170      1.34  christos     struct kauth_cred *cred)
    171      1.34  christos {
    172      1.34  christos 	int error;
    173      1.34  christos 
    174      1.34  christos 	rump_schedule();
    175      1.34  christos 	error = VOP_ACCESSX(vp, accmode, cred);
    176       1.3     pooka 	rump_unschedule();
    177       1.6     pooka 
    178       1.1     pooka 	return error;
    179       1.1     pooka }
    180       1.1     pooka 
    181       1.1     pooka int
    182       1.1     pooka RUMP_VOP_GETATTR(struct vnode *vp,
    183       1.1     pooka     struct vattr *vap,
    184       1.6     pooka     struct kauth_cred *cred)
    185       1.1     pooka {
    186       1.1     pooka 	int error;
    187       1.6     pooka 
    188       1.6     pooka 	rump_schedule();
    189       1.6     pooka 	error = VOP_GETATTR(vp, vap, cred);
    190       1.3     pooka 	rump_unschedule();
    191       1.6     pooka 
    192       1.1     pooka 	return error;
    193       1.1     pooka }
    194       1.1     pooka 
    195       1.1     pooka int
    196       1.1     pooka RUMP_VOP_SETATTR(struct vnode *vp,
    197       1.1     pooka     struct vattr *vap,
    198       1.6     pooka     struct kauth_cred *cred)
    199       1.1     pooka {
    200       1.1     pooka 	int error;
    201       1.6     pooka 
    202       1.6     pooka 	rump_schedule();
    203       1.6     pooka 	error = VOP_SETATTR(vp, vap, cred);
    204       1.3     pooka 	rump_unschedule();
    205       1.6     pooka 
    206       1.1     pooka 	return error;
    207       1.1     pooka }
    208       1.1     pooka 
    209       1.1     pooka int
    210       1.1     pooka RUMP_VOP_READ(struct vnode *vp,
    211       1.1     pooka     struct uio *uio,
    212       1.1     pooka     int ioflag,
    213       1.6     pooka     struct kauth_cred *cred)
    214       1.1     pooka {
    215       1.1     pooka 	int error;
    216       1.6     pooka 
    217       1.6     pooka 	rump_schedule();
    218       1.6     pooka 	error = VOP_READ(vp, uio, ioflag, cred);
    219       1.3     pooka 	rump_unschedule();
    220       1.6     pooka 
    221       1.1     pooka 	return error;
    222       1.1     pooka }
    223       1.1     pooka 
    224       1.1     pooka int
    225       1.1     pooka RUMP_VOP_WRITE(struct vnode *vp,
    226       1.1     pooka     struct uio *uio,
    227       1.1     pooka     int ioflag,
    228       1.6     pooka     struct kauth_cred *cred)
    229       1.1     pooka {
    230       1.1     pooka 	int error;
    231       1.6     pooka 
    232       1.6     pooka 	rump_schedule();
    233       1.6     pooka 	error = VOP_WRITE(vp, uio, ioflag, cred);
    234       1.3     pooka 	rump_unschedule();
    235       1.6     pooka 
    236       1.1     pooka 	return error;
    237       1.1     pooka }
    238       1.1     pooka 
    239       1.1     pooka int
    240      1.16  dholland RUMP_VOP_FALLOCATE(struct vnode *vp,
    241      1.16  dholland     off_t pos,
    242      1.16  dholland     off_t len)
    243      1.16  dholland {
    244      1.16  dholland 	int error;
    245      1.16  dholland 
    246      1.16  dholland 	rump_schedule();
    247      1.16  dholland 	error = VOP_FALLOCATE(vp, pos, len);
    248      1.16  dholland 	rump_unschedule();
    249      1.16  dholland 
    250      1.16  dholland 	return error;
    251      1.16  dholland }
    252      1.16  dholland 
    253      1.16  dholland int
    254      1.16  dholland RUMP_VOP_FDISCARD(struct vnode *vp,
    255      1.16  dholland     off_t pos,
    256      1.16  dholland     off_t len)
    257      1.16  dholland {
    258      1.16  dholland 	int error;
    259      1.16  dholland 
    260      1.16  dholland 	rump_schedule();
    261      1.16  dholland 	error = VOP_FDISCARD(vp, pos, len);
    262      1.16  dholland 	rump_unschedule();
    263      1.16  dholland 
    264      1.16  dholland 	return error;
    265      1.16  dholland }
    266      1.16  dholland 
    267      1.16  dholland int
    268       1.1     pooka RUMP_VOP_IOCTL(struct vnode *vp,
    269       1.1     pooka     u_long command,
    270       1.1     pooka     void *data,
    271       1.1     pooka     int fflag,
    272       1.6     pooka     struct kauth_cred *cred)
    273       1.1     pooka {
    274       1.1     pooka 	int error;
    275       1.6     pooka 
    276       1.6     pooka 	rump_schedule();
    277       1.6     pooka 	error = VOP_IOCTL(vp, command, data, fflag, cred);
    278       1.3     pooka 	rump_unschedule();
    279       1.6     pooka 
    280       1.1     pooka 	return error;
    281       1.1     pooka }
    282       1.1     pooka 
    283       1.1     pooka int
    284       1.1     pooka RUMP_VOP_FCNTL(struct vnode *vp,
    285       1.1     pooka     u_int command,
    286       1.1     pooka     void *data,
    287       1.1     pooka     int fflag,
    288       1.6     pooka     struct kauth_cred *cred)
    289       1.1     pooka {
    290       1.1     pooka 	int error;
    291       1.6     pooka 
    292       1.6     pooka 	rump_schedule();
    293       1.6     pooka 	error = VOP_FCNTL(vp, command, data, fflag, cred);
    294       1.3     pooka 	rump_unschedule();
    295       1.6     pooka 
    296       1.1     pooka 	return error;
    297       1.1     pooka }
    298       1.1     pooka 
    299       1.1     pooka int
    300       1.1     pooka RUMP_VOP_POLL(struct vnode *vp,
    301       1.1     pooka     int events)
    302       1.1     pooka {
    303       1.1     pooka 	int error;
    304       1.6     pooka 
    305       1.6     pooka 	rump_schedule();
    306       1.6     pooka 	error = VOP_POLL(vp, events);
    307       1.3     pooka 	rump_unschedule();
    308       1.6     pooka 
    309       1.1     pooka 	return error;
    310       1.1     pooka }
    311       1.1     pooka 
    312       1.1     pooka int
    313       1.1     pooka RUMP_VOP_KQFILTER(struct vnode *vp,
    314       1.1     pooka     struct knote *kn)
    315       1.1     pooka {
    316       1.1     pooka 	int error;
    317       1.6     pooka 
    318       1.6     pooka 	rump_schedule();
    319       1.6     pooka 	error = VOP_KQFILTER(vp, kn);
    320       1.3     pooka 	rump_unschedule();
    321       1.6     pooka 
    322       1.1     pooka 	return error;
    323       1.1     pooka }
    324       1.1     pooka 
    325       1.1     pooka int
    326       1.1     pooka RUMP_VOP_REVOKE(struct vnode *vp,
    327       1.1     pooka     int flags)
    328       1.1     pooka {
    329       1.1     pooka 	int error;
    330       1.6     pooka 
    331       1.6     pooka 	rump_schedule();
    332       1.6     pooka 	error = VOP_REVOKE(vp, flags);
    333       1.3     pooka 	rump_unschedule();
    334       1.6     pooka 
    335       1.1     pooka 	return error;
    336       1.1     pooka }
    337       1.1     pooka 
    338       1.1     pooka int
    339       1.1     pooka RUMP_VOP_MMAP(struct vnode *vp,
    340       1.1     pooka     int prot,
    341       1.6     pooka     struct kauth_cred *cred)
    342       1.1     pooka {
    343       1.1     pooka 	int error;
    344       1.6     pooka 
    345       1.6     pooka 	rump_schedule();
    346       1.6     pooka 	error = VOP_MMAP(vp, prot, cred);
    347       1.3     pooka 	rump_unschedule();
    348       1.6     pooka 
    349       1.1     pooka 	return error;
    350       1.1     pooka }
    351       1.1     pooka 
    352       1.1     pooka int
    353       1.1     pooka RUMP_VOP_FSYNC(struct vnode *vp,
    354       1.6     pooka     struct kauth_cred *cred,
    355       1.1     pooka     int flags,
    356       1.1     pooka     off_t offlo,
    357       1.1     pooka     off_t offhi)
    358       1.1     pooka {
    359       1.1     pooka 	int error;
    360       1.6     pooka 
    361       1.6     pooka 	rump_schedule();
    362       1.6     pooka 	error = VOP_FSYNC(vp, cred, flags, offlo, offhi);
    363       1.3     pooka 	rump_unschedule();
    364       1.6     pooka 
    365       1.1     pooka 	return error;
    366       1.1     pooka }
    367       1.1     pooka 
    368       1.1     pooka int
    369       1.1     pooka RUMP_VOP_SEEK(struct vnode *vp,
    370       1.1     pooka     off_t oldoff,
    371       1.1     pooka     off_t newoff,
    372       1.6     pooka     struct kauth_cred *cred)
    373       1.1     pooka {
    374       1.1     pooka 	int error;
    375       1.6     pooka 
    376       1.6     pooka 	rump_schedule();
    377       1.6     pooka 	error = VOP_SEEK(vp, oldoff, newoff, cred);
    378       1.3     pooka 	rump_unschedule();
    379       1.6     pooka 
    380       1.1     pooka 	return error;
    381       1.1     pooka }
    382       1.1     pooka 
    383       1.1     pooka int
    384       1.1     pooka RUMP_VOP_REMOVE(struct vnode *dvp,
    385       1.1     pooka     struct vnode *vp,
    386       1.1     pooka     struct componentname *cnp)
    387       1.1     pooka {
    388       1.1     pooka 	int error;
    389       1.6     pooka 
    390       1.6     pooka 	rump_schedule();
    391       1.6     pooka 	error = VOP_REMOVE(dvp, vp, cnp);
    392       1.3     pooka 	rump_unschedule();
    393       1.6     pooka 
    394       1.1     pooka 	return error;
    395       1.1     pooka }
    396       1.1     pooka 
    397       1.1     pooka int
    398       1.1     pooka RUMP_VOP_LINK(struct vnode *dvp,
    399       1.1     pooka     struct vnode *vp,
    400       1.1     pooka     struct componentname *cnp)
    401       1.1     pooka {
    402       1.1     pooka 	int error;
    403       1.6     pooka 
    404       1.6     pooka 	rump_schedule();
    405       1.6     pooka 	error = VOP_LINK(dvp, vp, cnp);
    406       1.3     pooka 	rump_unschedule();
    407       1.6     pooka 
    408       1.1     pooka 	return error;
    409       1.1     pooka }
    410       1.1     pooka 
    411       1.1     pooka int
    412       1.1     pooka RUMP_VOP_RENAME(struct vnode *fdvp,
    413       1.1     pooka     struct vnode *fvp,
    414       1.1     pooka     struct componentname *fcnp,
    415       1.1     pooka     struct vnode *tdvp,
    416       1.1     pooka     struct vnode *tvp,
    417       1.1     pooka     struct componentname *tcnp)
    418       1.1     pooka {
    419       1.1     pooka 	int error;
    420       1.6     pooka 
    421       1.6     pooka 	rump_schedule();
    422       1.6     pooka 	error = VOP_RENAME(fdvp, fvp, fcnp, tdvp, tvp, tcnp);
    423       1.3     pooka 	rump_unschedule();
    424       1.6     pooka 
    425       1.1     pooka 	return error;
    426       1.1     pooka }
    427       1.1     pooka 
    428       1.1     pooka int
    429       1.1     pooka RUMP_VOP_MKDIR(struct vnode *dvp,
    430       1.1     pooka     struct vnode **vpp,
    431       1.1     pooka     struct componentname *cnp,
    432       1.1     pooka     struct vattr *vap)
    433       1.1     pooka {
    434       1.1     pooka 	int error;
    435       1.6     pooka 
    436       1.6     pooka 	rump_schedule();
    437       1.6     pooka 	error = VOP_MKDIR(dvp, vpp, cnp, vap);
    438       1.6     pooka 	rump_unschedule();
    439       1.6     pooka 
    440       1.1     pooka 	return error;
    441       1.1     pooka }
    442       1.1     pooka 
    443       1.1     pooka int
    444       1.1     pooka RUMP_VOP_RMDIR(struct vnode *dvp,
    445       1.1     pooka     struct vnode *vp,
    446       1.1     pooka     struct componentname *cnp)
    447       1.1     pooka {
    448       1.1     pooka 	int error;
    449       1.6     pooka 
    450       1.6     pooka 	rump_schedule();
    451       1.6     pooka 	error = VOP_RMDIR(dvp, vp, cnp);
    452       1.3     pooka 	rump_unschedule();
    453       1.6     pooka 
    454       1.1     pooka 	return error;
    455       1.1     pooka }
    456       1.1     pooka 
    457       1.1     pooka int
    458       1.1     pooka RUMP_VOP_SYMLINK(struct vnode *dvp,
    459       1.1     pooka     struct vnode **vpp,
    460       1.1     pooka     struct componentname *cnp,
    461       1.1     pooka     struct vattr *vap,
    462       1.1     pooka     char *target)
    463       1.1     pooka {
    464       1.1     pooka 	int error;
    465       1.6     pooka 
    466       1.6     pooka 	rump_schedule();
    467       1.6     pooka 	error = VOP_SYMLINK(dvp, vpp, cnp, vap, target);
    468       1.6     pooka 	rump_unschedule();
    469       1.6     pooka 
    470       1.1     pooka 	return error;
    471       1.1     pooka }
    472       1.1     pooka 
    473       1.1     pooka int
    474       1.1     pooka RUMP_VOP_READDIR(struct vnode *vp,
    475       1.1     pooka     struct uio *uio,
    476       1.6     pooka     struct kauth_cred *cred,
    477       1.1     pooka     int *eofflag,
    478       1.1     pooka     off_t **cookies,
    479       1.1     pooka     int *ncookies)
    480       1.1     pooka {
    481       1.1     pooka 	int error;
    482       1.6     pooka 
    483       1.6     pooka 	rump_schedule();
    484       1.6     pooka 	error = VOP_READDIR(vp, uio, cred, eofflag, cookies, ncookies);
    485       1.3     pooka 	rump_unschedule();
    486       1.6     pooka 
    487       1.1     pooka 	return error;
    488       1.1     pooka }
    489       1.1     pooka 
    490       1.1     pooka int
    491       1.1     pooka RUMP_VOP_READLINK(struct vnode *vp,
    492       1.1     pooka     struct uio *uio,
    493       1.6     pooka     struct kauth_cred *cred)
    494       1.1     pooka {
    495       1.1     pooka 	int error;
    496       1.6     pooka 
    497       1.6     pooka 	rump_schedule();
    498       1.6     pooka 	error = VOP_READLINK(vp, uio, cred);
    499       1.3     pooka 	rump_unschedule();
    500       1.6     pooka 
    501       1.1     pooka 	return error;
    502       1.1     pooka }
    503       1.1     pooka 
    504       1.1     pooka int
    505       1.1     pooka RUMP_VOP_ABORTOP(struct vnode *dvp,
    506       1.1     pooka     struct componentname *cnp)
    507       1.1     pooka {
    508       1.1     pooka 	int error;
    509       1.6     pooka 
    510       1.6     pooka 	rump_schedule();
    511       1.6     pooka 	error = VOP_ABORTOP(dvp, cnp);
    512       1.3     pooka 	rump_unschedule();
    513       1.6     pooka 
    514       1.1     pooka 	return error;
    515       1.1     pooka }
    516       1.1     pooka 
    517       1.1     pooka int
    518       1.1     pooka RUMP_VOP_INACTIVE(struct vnode *vp,
    519       1.1     pooka     bool *recycle)
    520       1.1     pooka {
    521       1.1     pooka 	int error;
    522       1.6     pooka 
    523       1.6     pooka 	rump_schedule();
    524       1.6     pooka 	error = VOP_INACTIVE(vp, recycle);
    525       1.3     pooka 	rump_unschedule();
    526       1.6     pooka 
    527       1.1     pooka 	return error;
    528       1.1     pooka }
    529       1.1     pooka 
    530       1.1     pooka int
    531       1.1     pooka RUMP_VOP_RECLAIM(struct vnode *vp)
    532       1.1     pooka {
    533       1.1     pooka 	int error;
    534       1.6     pooka 
    535       1.6     pooka 	rump_schedule();
    536       1.6     pooka 	error = VOP_RECLAIM(vp);
    537       1.3     pooka 	rump_unschedule();
    538       1.6     pooka 
    539       1.1     pooka 	return error;
    540       1.1     pooka }
    541       1.1     pooka 
    542       1.1     pooka int
    543       1.1     pooka RUMP_VOP_LOCK(struct vnode *vp,
    544       1.1     pooka     int flags)
    545       1.1     pooka {
    546       1.1     pooka 	int error;
    547       1.6     pooka 
    548       1.6     pooka 	rump_schedule();
    549       1.6     pooka 	error = VOP_LOCK(vp, flags);
    550       1.3     pooka 	rump_unschedule();
    551       1.6     pooka 
    552       1.1     pooka 	return error;
    553       1.1     pooka }
    554       1.1     pooka 
    555       1.1     pooka int
    556       1.7   hannken RUMP_VOP_UNLOCK(struct vnode *vp)
    557       1.1     pooka {
    558       1.1     pooka 	int error;
    559       1.6     pooka 
    560       1.6     pooka 	rump_schedule();
    561       1.7   hannken 	error = VOP_UNLOCK(vp);
    562       1.3     pooka 	rump_unschedule();
    563       1.6     pooka 
    564       1.1     pooka 	return error;
    565       1.1     pooka }
    566       1.1     pooka 
    567       1.1     pooka int
    568       1.1     pooka RUMP_VOP_BMAP(struct vnode *vp,
    569      1.12     pooka     int64_t bn,
    570       1.1     pooka     struct vnode **vpp,
    571      1.12     pooka     int64_t *bnp,
    572       1.1     pooka     int *runp)
    573       1.1     pooka {
    574       1.1     pooka 	int error;
    575       1.6     pooka 
    576       1.6     pooka 	rump_schedule();
    577       1.6     pooka 	error = VOP_BMAP(vp, bn, vpp, bnp, runp);
    578       1.3     pooka 	rump_unschedule();
    579       1.6     pooka 
    580       1.1     pooka 	return error;
    581       1.1     pooka }
    582       1.1     pooka 
    583       1.1     pooka int
    584       1.1     pooka RUMP_VOP_STRATEGY(struct vnode *vp,
    585       1.1     pooka     struct buf *bp)
    586       1.1     pooka {
    587       1.1     pooka 	int error;
    588       1.6     pooka 
    589       1.6     pooka 	rump_schedule();
    590       1.6     pooka 	error = VOP_STRATEGY(vp, bp);
    591       1.3     pooka 	rump_unschedule();
    592       1.6     pooka 
    593       1.1     pooka 	return error;
    594       1.1     pooka }
    595       1.1     pooka 
    596       1.1     pooka int
    597       1.1     pooka RUMP_VOP_PRINT(struct vnode *vp)
    598       1.1     pooka {
    599       1.1     pooka 	int error;
    600       1.6     pooka 
    601       1.6     pooka 	rump_schedule();
    602       1.6     pooka 	error = VOP_PRINT(vp);
    603       1.3     pooka 	rump_unschedule();
    604       1.6     pooka 
    605       1.1     pooka 	return error;
    606       1.1     pooka }
    607       1.1     pooka 
    608       1.1     pooka int
    609       1.1     pooka RUMP_VOP_ISLOCKED(struct vnode *vp)
    610       1.1     pooka {
    611       1.1     pooka 	int error;
    612       1.6     pooka 
    613       1.6     pooka 	rump_schedule();
    614       1.6     pooka 	error = VOP_ISLOCKED(vp);
    615       1.3     pooka 	rump_unschedule();
    616       1.6     pooka 
    617       1.1     pooka 	return error;
    618       1.1     pooka }
    619       1.1     pooka 
    620       1.1     pooka int
    621       1.1     pooka RUMP_VOP_PATHCONF(struct vnode *vp,
    622       1.1     pooka     int name,
    623       1.1     pooka     register_t *retval)
    624       1.1     pooka {
    625       1.1     pooka 	int error;
    626       1.6     pooka 
    627       1.6     pooka 	rump_schedule();
    628       1.6     pooka 	error = VOP_PATHCONF(vp, name, retval);
    629       1.3     pooka 	rump_unschedule();
    630       1.6     pooka 
    631       1.1     pooka 	return error;
    632       1.1     pooka }
    633       1.1     pooka 
    634       1.1     pooka int
    635       1.1     pooka RUMP_VOP_ADVLOCK(struct vnode *vp,
    636       1.1     pooka     void *id,
    637       1.1     pooka     int op,
    638       1.1     pooka     struct flock *fl,
    639       1.1     pooka     int flags)
    640       1.1     pooka {
    641       1.1     pooka 	int error;
    642       1.6     pooka 
    643       1.6     pooka 	rump_schedule();
    644       1.6     pooka 	error = VOP_ADVLOCK(vp, id, op, fl, flags);
    645       1.3     pooka 	rump_unschedule();
    646       1.6     pooka 
    647       1.1     pooka 	return error;
    648       1.1     pooka }
    649       1.1     pooka 
    650       1.1     pooka int
    651       1.1     pooka RUMP_VOP_WHITEOUT(struct vnode *dvp,
    652       1.1     pooka     struct componentname *cnp,
    653       1.1     pooka     int flags)
    654       1.1     pooka {
    655       1.1     pooka 	int error;
    656       1.6     pooka 
    657       1.6     pooka 	rump_schedule();
    658       1.6     pooka 	error = VOP_WHITEOUT(dvp, cnp, flags);
    659       1.3     pooka 	rump_unschedule();
    660       1.6     pooka 
    661       1.1     pooka 	return error;
    662       1.1     pooka }
    663       1.1     pooka 
    664       1.1     pooka int
    665       1.1     pooka RUMP_VOP_GETPAGES(struct vnode *vp,
    666       1.1     pooka     off_t offset,
    667       1.1     pooka     struct vm_page **m,
    668       1.1     pooka     int *count,
    669       1.1     pooka     int centeridx,
    670       1.1     pooka     int access_type,
    671       1.1     pooka     int advice,
    672       1.1     pooka     int flags)
    673       1.1     pooka {
    674       1.1     pooka 	int error;
    675       1.6     pooka 
    676       1.6     pooka 	rump_schedule();
    677       1.6     pooka 	error = VOP_GETPAGES(vp, offset, m, count, centeridx, access_type, advice, flags);
    678       1.3     pooka 	rump_unschedule();
    679       1.6     pooka 
    680       1.1     pooka 	return error;
    681       1.1     pooka }
    682       1.1     pooka 
    683       1.1     pooka int
    684       1.1     pooka RUMP_VOP_PUTPAGES(struct vnode *vp,
    685       1.1     pooka     off_t offlo,
    686       1.1     pooka     off_t offhi,
    687       1.1     pooka     int flags)
    688       1.1     pooka {
    689       1.1     pooka 	int error;
    690       1.6     pooka 
    691       1.6     pooka 	rump_schedule();
    692       1.6     pooka 	error = VOP_PUTPAGES(vp, offlo, offhi, flags);
    693       1.3     pooka 	rump_unschedule();
    694       1.6     pooka 
    695       1.1     pooka 	return error;
    696       1.1     pooka }
    697       1.1     pooka 
    698       1.1     pooka int
    699      1.34  christos RUMP_VOP_GETACL(struct vnode *vp,
    700      1.34  christos     acl_type_t type,
    701      1.34  christos     struct acl *aclp,
    702      1.34  christos     struct kauth_cred *cred)
    703      1.34  christos {
    704      1.34  christos 	int error;
    705      1.34  christos 
    706      1.34  christos 	rump_schedule();
    707      1.34  christos 	error = VOP_GETACL(vp, type, aclp, cred);
    708      1.34  christos 	rump_unschedule();
    709      1.34  christos 
    710      1.34  christos 	return error;
    711      1.34  christos }
    712      1.34  christos 
    713      1.34  christos int
    714      1.34  christos RUMP_VOP_SETACL(struct vnode *vp,
    715      1.34  christos     acl_type_t type,
    716      1.34  christos     struct acl *aclp,
    717      1.34  christos     struct kauth_cred *cred)
    718      1.34  christos {
    719      1.34  christos 	int error;
    720      1.34  christos 
    721      1.34  christos 	rump_schedule();
    722      1.34  christos 	error = VOP_SETACL(vp, type, aclp, cred);
    723      1.34  christos 	rump_unschedule();
    724      1.34  christos 
    725      1.34  christos 	return error;
    726      1.34  christos }
    727      1.34  christos 
    728      1.34  christos int
    729      1.34  christos RUMP_VOP_ACLCHECK(struct vnode *vp,
    730      1.34  christos     acl_type_t type,
    731      1.34  christos     struct acl *aclp,
    732      1.34  christos     struct kauth_cred *cred)
    733      1.34  christos {
    734      1.34  christos 	int error;
    735      1.34  christos 
    736      1.34  christos 	rump_schedule();
    737      1.34  christos 	error = VOP_ACLCHECK(vp, type, aclp, cred);
    738      1.34  christos 	rump_unschedule();
    739      1.34  christos 
    740      1.34  christos 	return error;
    741      1.34  christos }
    742      1.34  christos 
    743      1.34  christos int
    744       1.1     pooka RUMP_VOP_CLOSEEXTATTR(struct vnode *vp,
    745       1.1     pooka     int commit,
    746       1.6     pooka     struct kauth_cred *cred)
    747       1.1     pooka {
    748       1.1     pooka 	int error;
    749       1.6     pooka 
    750       1.6     pooka 	rump_schedule();
    751       1.6     pooka 	error = VOP_CLOSEEXTATTR(vp, commit, cred);
    752       1.3     pooka 	rump_unschedule();
    753       1.6     pooka 
    754       1.1     pooka 	return error;
    755       1.1     pooka }
    756       1.1     pooka 
    757       1.1     pooka int
    758       1.1     pooka RUMP_VOP_GETEXTATTR(struct vnode *vp,
    759       1.1     pooka     int attrnamespace,
    760       1.1     pooka     const char *name,
    761       1.1     pooka     struct uio *uio,
    762       1.1     pooka     size_t *size,
    763       1.6     pooka     struct kauth_cred *cred)
    764       1.1     pooka {
    765       1.1     pooka 	int error;
    766       1.6     pooka 
    767       1.6     pooka 	rump_schedule();
    768       1.6     pooka 	error = VOP_GETEXTATTR(vp, attrnamespace, name, uio, size, cred);
    769       1.3     pooka 	rump_unschedule();
    770       1.6     pooka 
    771       1.1     pooka 	return error;
    772       1.1     pooka }
    773       1.1     pooka 
    774       1.1     pooka int
    775       1.1     pooka RUMP_VOP_LISTEXTATTR(struct vnode *vp,
    776       1.1     pooka     int attrnamespace,
    777       1.1     pooka     struct uio *uio,
    778       1.1     pooka     size_t *size,
    779       1.9      manu     int flag,
    780       1.6     pooka     struct kauth_cred *cred)
    781       1.1     pooka {
    782       1.1     pooka 	int error;
    783       1.6     pooka 
    784       1.6     pooka 	rump_schedule();
    785       1.9      manu 	error = VOP_LISTEXTATTR(vp, attrnamespace, uio, size, flag, cred);
    786       1.3     pooka 	rump_unschedule();
    787       1.6     pooka 
    788       1.1     pooka 	return error;
    789       1.1     pooka }
    790       1.1     pooka 
    791       1.1     pooka int
    792       1.1     pooka RUMP_VOP_OPENEXTATTR(struct vnode *vp,
    793       1.6     pooka     struct kauth_cred *cred)
    794       1.1     pooka {
    795       1.1     pooka 	int error;
    796       1.6     pooka 
    797       1.6     pooka 	rump_schedule();
    798       1.6     pooka 	error = VOP_OPENEXTATTR(vp, cred);
    799       1.3     pooka 	rump_unschedule();
    800       1.6     pooka 
    801       1.1     pooka 	return error;
    802       1.1     pooka }
    803       1.1     pooka 
    804       1.1     pooka int
    805       1.1     pooka RUMP_VOP_DELETEEXTATTR(struct vnode *vp,
    806       1.1     pooka     int attrnamespace,
    807       1.1     pooka     const char *name,
    808       1.6     pooka     struct kauth_cred *cred)
    809       1.1     pooka {
    810       1.1     pooka 	int error;
    811       1.6     pooka 
    812       1.6     pooka 	rump_schedule();
    813       1.6     pooka 	error = VOP_DELETEEXTATTR(vp, attrnamespace, name, cred);
    814       1.3     pooka 	rump_unschedule();
    815       1.6     pooka 
    816       1.1     pooka 	return error;
    817       1.1     pooka }
    818       1.1     pooka 
    819       1.1     pooka int
    820       1.1     pooka RUMP_VOP_SETEXTATTR(struct vnode *vp,
    821       1.1     pooka     int attrnamespace,
    822       1.1     pooka     const char *name,
    823       1.1     pooka     struct uio *uio,
    824       1.6     pooka     struct kauth_cred *cred)
    825       1.1     pooka {
    826       1.1     pooka 	int error;
    827       1.6     pooka 
    828       1.6     pooka 	rump_schedule();
    829       1.6     pooka 	error = VOP_SETEXTATTR(vp, attrnamespace, name, uio, cred);
    830       1.6     pooka 	rump_unschedule();
    831       1.6     pooka 
    832       1.6     pooka 	return error;
    833       1.6     pooka }
    834