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