Home | History | Annotate | Line # | Download | only in rumpvfs
rumpvnode_if.c revision 1.20
      1  1.20     pooka /*	$NetBSD: rumpvnode_if.c,v 1.20 2016/01/26 23:30:10 pooka 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.18  riastrad  *	NetBSD: vnode_if.src,v 1.69 2015/04/20 23:08:07 riastradh Exp
      9   1.1     pooka  * by the script:
     10  1.13   hannken  *	NetBSD: vnode_if.sh,v 1.60 2014/01/13 12:07:55 hannken 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.20 2016/01/26 23:30:10 pooka 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.1     pooka RUMP_VOP_LOOKUP(struct vnode *dvp,
     68   1.1     pooka     struct vnode **vpp,
     69   1.1     pooka     struct componentname *cnp)
     70   1.1     pooka {
     71   1.1     pooka 	int error;
     72   1.6     pooka 
     73   1.6     pooka 	rump_schedule();
     74   1.6     pooka 	error = VOP_LOOKUP(dvp, vpp, cnp);
     75   1.6     pooka 	rump_unschedule();
     76   1.6     pooka 
     77   1.1     pooka 	return error;
     78   1.1     pooka }
     79   1.1     pooka 
     80   1.1     pooka int
     81   1.1     pooka RUMP_VOP_CREATE(struct vnode *dvp,
     82   1.1     pooka     struct vnode **vpp,
     83   1.1     pooka     struct componentname *cnp,
     84   1.1     pooka     struct vattr *vap)
     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_CREATE(dvp, vpp, cnp, vap);
     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_MKNOD(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_MKNOD(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_OPEN(struct vnode *vp,
    112   1.1     pooka     int mode,
    113   1.6     pooka     struct kauth_cred *cred)
    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_OPEN(vp, mode, cred);
    119   1.3     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_CLOSE(struct vnode *vp,
    126   1.1     pooka     int fflag,
    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_CLOSE(vp, fflag, 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_ACCESS(struct vnode *vp,
    140   1.1     pooka     int mode,
    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_ACCESS(vp, mode, 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_GETATTR(struct vnode *vp,
    154   1.1     pooka     struct vattr *vap,
    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.6     pooka 	error = VOP_GETATTR(vp, vap, cred);
    161   1.3     pooka 	rump_unschedule();
    162   1.6     pooka 
    163   1.1     pooka 	return error;
    164   1.1     pooka }
    165   1.1     pooka 
    166   1.1     pooka int
    167   1.1     pooka RUMP_VOP_SETATTR(struct vnode *vp,
    168   1.1     pooka     struct vattr *vap,
    169   1.6     pooka     struct kauth_cred *cred)
    170   1.1     pooka {
    171   1.1     pooka 	int error;
    172   1.6     pooka 
    173   1.6     pooka 	rump_schedule();
    174   1.6     pooka 	error = VOP_SETATTR(vp, vap, 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_READ(struct vnode *vp,
    182   1.1     pooka     struct uio *uio,
    183   1.1     pooka     int ioflag,
    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_READ(vp, uio, ioflag, 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_WRITE(struct vnode *vp,
    197   1.1     pooka     struct uio *uio,
    198   1.1     pooka     int ioflag,
    199   1.6     pooka     struct kauth_cred *cred)
    200   1.1     pooka {
    201   1.1     pooka 	int error;
    202   1.6     pooka 
    203   1.6     pooka 	rump_schedule();
    204   1.6     pooka 	error = VOP_WRITE(vp, uio, ioflag, cred);
    205   1.3     pooka 	rump_unschedule();
    206   1.6     pooka 
    207   1.1     pooka 	return error;
    208   1.1     pooka }
    209   1.1     pooka 
    210   1.1     pooka int
    211  1.16  dholland RUMP_VOP_FALLOCATE(struct vnode *vp,
    212  1.16  dholland     off_t pos,
    213  1.16  dholland     off_t len)
    214  1.16  dholland {
    215  1.16  dholland 	int error;
    216  1.16  dholland 
    217  1.16  dholland 	rump_schedule();
    218  1.16  dholland 	error = VOP_FALLOCATE(vp, pos, len);
    219  1.16  dholland 	rump_unschedule();
    220  1.16  dholland 
    221  1.16  dholland 	return error;
    222  1.16  dholland }
    223  1.16  dholland 
    224  1.16  dholland int
    225  1.16  dholland RUMP_VOP_FDISCARD(struct vnode *vp,
    226  1.16  dholland     off_t pos,
    227  1.16  dholland     off_t len)
    228  1.16  dholland {
    229  1.16  dholland 	int error;
    230  1.16  dholland 
    231  1.16  dholland 	rump_schedule();
    232  1.16  dholland 	error = VOP_FDISCARD(vp, pos, len);
    233  1.16  dholland 	rump_unschedule();
    234  1.16  dholland 
    235  1.16  dholland 	return error;
    236  1.16  dholland }
    237  1.16  dholland 
    238  1.16  dholland int
    239   1.1     pooka RUMP_VOP_IOCTL(struct vnode *vp,
    240   1.1     pooka     u_long command,
    241   1.1     pooka     void *data,
    242   1.1     pooka     int fflag,
    243   1.6     pooka     struct kauth_cred *cred)
    244   1.1     pooka {
    245   1.1     pooka 	int error;
    246   1.6     pooka 
    247   1.6     pooka 	rump_schedule();
    248   1.6     pooka 	error = VOP_IOCTL(vp, command, data, fflag, cred);
    249   1.3     pooka 	rump_unschedule();
    250   1.6     pooka 
    251   1.1     pooka 	return error;
    252   1.1     pooka }
    253   1.1     pooka 
    254   1.1     pooka int
    255   1.1     pooka RUMP_VOP_FCNTL(struct vnode *vp,
    256   1.1     pooka     u_int command,
    257   1.1     pooka     void *data,
    258   1.1     pooka     int fflag,
    259   1.6     pooka     struct kauth_cred *cred)
    260   1.1     pooka {
    261   1.1     pooka 	int error;
    262   1.6     pooka 
    263   1.6     pooka 	rump_schedule();
    264   1.6     pooka 	error = VOP_FCNTL(vp, command, data, fflag, cred);
    265   1.3     pooka 	rump_unschedule();
    266   1.6     pooka 
    267   1.1     pooka 	return error;
    268   1.1     pooka }
    269   1.1     pooka 
    270   1.1     pooka int
    271   1.1     pooka RUMP_VOP_POLL(struct vnode *vp,
    272   1.1     pooka     int events)
    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_POLL(vp, events);
    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_KQFILTER(struct vnode *vp,
    285   1.1     pooka     struct knote *kn)
    286   1.1     pooka {
    287   1.1     pooka 	int error;
    288   1.6     pooka 
    289   1.6     pooka 	rump_schedule();
    290   1.6     pooka 	error = VOP_KQFILTER(vp, kn);
    291   1.3     pooka 	rump_unschedule();
    292   1.6     pooka 
    293   1.1     pooka 	return error;
    294   1.1     pooka }
    295   1.1     pooka 
    296   1.1     pooka int
    297   1.1     pooka RUMP_VOP_REVOKE(struct vnode *vp,
    298   1.1     pooka     int flags)
    299   1.1     pooka {
    300   1.1     pooka 	int error;
    301   1.6     pooka 
    302   1.6     pooka 	rump_schedule();
    303   1.6     pooka 	error = VOP_REVOKE(vp, flags);
    304   1.3     pooka 	rump_unschedule();
    305   1.6     pooka 
    306   1.1     pooka 	return error;
    307   1.1     pooka }
    308   1.1     pooka 
    309   1.1     pooka int
    310   1.1     pooka RUMP_VOP_MMAP(struct vnode *vp,
    311   1.1     pooka     int prot,
    312   1.6     pooka     struct kauth_cred *cred)
    313   1.1     pooka {
    314   1.1     pooka 	int error;
    315   1.6     pooka 
    316   1.6     pooka 	rump_schedule();
    317   1.6     pooka 	error = VOP_MMAP(vp, prot, cred);
    318   1.3     pooka 	rump_unschedule();
    319   1.6     pooka 
    320   1.1     pooka 	return error;
    321   1.1     pooka }
    322   1.1     pooka 
    323   1.1     pooka int
    324   1.1     pooka RUMP_VOP_FSYNC(struct vnode *vp,
    325   1.6     pooka     struct kauth_cred *cred,
    326   1.1     pooka     int flags,
    327   1.1     pooka     off_t offlo,
    328   1.1     pooka     off_t offhi)
    329   1.1     pooka {
    330   1.1     pooka 	int error;
    331   1.6     pooka 
    332   1.6     pooka 	rump_schedule();
    333   1.6     pooka 	error = VOP_FSYNC(vp, cred, flags, offlo, offhi);
    334   1.3     pooka 	rump_unschedule();
    335   1.6     pooka 
    336   1.1     pooka 	return error;
    337   1.1     pooka }
    338   1.1     pooka 
    339   1.1     pooka int
    340   1.1     pooka RUMP_VOP_SEEK(struct vnode *vp,
    341   1.1     pooka     off_t oldoff,
    342   1.1     pooka     off_t newoff,
    343   1.6     pooka     struct kauth_cred *cred)
    344   1.1     pooka {
    345   1.1     pooka 	int error;
    346   1.6     pooka 
    347   1.6     pooka 	rump_schedule();
    348   1.6     pooka 	error = VOP_SEEK(vp, oldoff, newoff, cred);
    349   1.3     pooka 	rump_unschedule();
    350   1.6     pooka 
    351   1.1     pooka 	return error;
    352   1.1     pooka }
    353   1.1     pooka 
    354   1.1     pooka int
    355   1.1     pooka RUMP_VOP_REMOVE(struct vnode *dvp,
    356   1.1     pooka     struct vnode *vp,
    357   1.1     pooka     struct componentname *cnp)
    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_REMOVE(dvp, vp, cnp);
    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_LINK(struct vnode *dvp,
    370   1.1     pooka     struct vnode *vp,
    371   1.1     pooka     struct componentname *cnp)
    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_LINK(dvp, vp, cnp);
    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_RENAME(struct vnode *fdvp,
    384   1.1     pooka     struct vnode *fvp,
    385   1.1     pooka     struct componentname *fcnp,
    386   1.1     pooka     struct vnode *tdvp,
    387   1.1     pooka     struct vnode *tvp,
    388   1.1     pooka     struct componentname *tcnp)
    389   1.1     pooka {
    390   1.1     pooka 	int error;
    391   1.6     pooka 
    392   1.6     pooka 	rump_schedule();
    393   1.6     pooka 	error = VOP_RENAME(fdvp, fvp, fcnp, tdvp, tvp, tcnp);
    394   1.3     pooka 	rump_unschedule();
    395   1.6     pooka 
    396   1.1     pooka 	return error;
    397   1.1     pooka }
    398   1.1     pooka 
    399   1.1     pooka int
    400   1.1     pooka RUMP_VOP_MKDIR(struct vnode *dvp,
    401   1.1     pooka     struct vnode **vpp,
    402   1.1     pooka     struct componentname *cnp,
    403   1.1     pooka     struct vattr *vap)
    404   1.1     pooka {
    405   1.1     pooka 	int error;
    406   1.6     pooka 
    407   1.6     pooka 	rump_schedule();
    408   1.6     pooka 	error = VOP_MKDIR(dvp, vpp, cnp, vap);
    409   1.6     pooka 	rump_unschedule();
    410   1.6     pooka 
    411   1.1     pooka 	return error;
    412   1.1     pooka }
    413   1.1     pooka 
    414   1.1     pooka int
    415   1.1     pooka RUMP_VOP_RMDIR(struct vnode *dvp,
    416   1.1     pooka     struct vnode *vp,
    417   1.1     pooka     struct componentname *cnp)
    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_RMDIR(dvp, vp, cnp);
    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_SYMLINK(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     char *target)
    434   1.1     pooka {
    435   1.1     pooka 	int error;
    436   1.6     pooka 
    437   1.6     pooka 	rump_schedule();
    438   1.6     pooka 	error = VOP_SYMLINK(dvp, vpp, cnp, vap, target);
    439   1.6     pooka 	rump_unschedule();
    440   1.6     pooka 
    441   1.1     pooka 	return error;
    442   1.1     pooka }
    443   1.1     pooka 
    444   1.1     pooka int
    445   1.1     pooka RUMP_VOP_READDIR(struct vnode *vp,
    446   1.1     pooka     struct uio *uio,
    447   1.6     pooka     struct kauth_cred *cred,
    448   1.1     pooka     int *eofflag,
    449   1.1     pooka     off_t **cookies,
    450   1.1     pooka     int *ncookies)
    451   1.1     pooka {
    452   1.1     pooka 	int error;
    453   1.6     pooka 
    454   1.6     pooka 	rump_schedule();
    455   1.6     pooka 	error = VOP_READDIR(vp, uio, cred, eofflag, cookies, ncookies);
    456   1.3     pooka 	rump_unschedule();
    457   1.6     pooka 
    458   1.1     pooka 	return error;
    459   1.1     pooka }
    460   1.1     pooka 
    461   1.1     pooka int
    462   1.1     pooka RUMP_VOP_READLINK(struct vnode *vp,
    463   1.1     pooka     struct uio *uio,
    464   1.6     pooka     struct kauth_cred *cred)
    465   1.1     pooka {
    466   1.1     pooka 	int error;
    467   1.6     pooka 
    468   1.6     pooka 	rump_schedule();
    469   1.6     pooka 	error = VOP_READLINK(vp, uio, cred);
    470   1.3     pooka 	rump_unschedule();
    471   1.6     pooka 
    472   1.1     pooka 	return error;
    473   1.1     pooka }
    474   1.1     pooka 
    475   1.1     pooka int
    476   1.1     pooka RUMP_VOP_ABORTOP(struct vnode *dvp,
    477   1.1     pooka     struct componentname *cnp)
    478   1.1     pooka {
    479   1.1     pooka 	int error;
    480   1.6     pooka 
    481   1.6     pooka 	rump_schedule();
    482   1.6     pooka 	error = VOP_ABORTOP(dvp, cnp);
    483   1.3     pooka 	rump_unschedule();
    484   1.6     pooka 
    485   1.1     pooka 	return error;
    486   1.1     pooka }
    487   1.1     pooka 
    488   1.1     pooka int
    489   1.1     pooka RUMP_VOP_INACTIVE(struct vnode *vp,
    490   1.1     pooka     bool *recycle)
    491   1.1     pooka {
    492   1.1     pooka 	int error;
    493   1.6     pooka 
    494   1.6     pooka 	rump_schedule();
    495   1.6     pooka 	error = VOP_INACTIVE(vp, recycle);
    496   1.3     pooka 	rump_unschedule();
    497   1.6     pooka 
    498   1.1     pooka 	return error;
    499   1.1     pooka }
    500   1.1     pooka 
    501   1.1     pooka int
    502   1.1     pooka RUMP_VOP_RECLAIM(struct vnode *vp)
    503   1.1     pooka {
    504   1.1     pooka 	int error;
    505   1.6     pooka 
    506   1.6     pooka 	rump_schedule();
    507   1.6     pooka 	error = VOP_RECLAIM(vp);
    508   1.3     pooka 	rump_unschedule();
    509   1.6     pooka 
    510   1.1     pooka 	return error;
    511   1.1     pooka }
    512   1.1     pooka 
    513   1.1     pooka int
    514   1.1     pooka RUMP_VOP_LOCK(struct vnode *vp,
    515   1.1     pooka     int flags)
    516   1.1     pooka {
    517   1.1     pooka 	int error;
    518   1.6     pooka 
    519   1.6     pooka 	rump_schedule();
    520   1.6     pooka 	error = VOP_LOCK(vp, flags);
    521   1.3     pooka 	rump_unschedule();
    522   1.6     pooka 
    523   1.1     pooka 	return error;
    524   1.1     pooka }
    525   1.1     pooka 
    526   1.1     pooka int
    527   1.7   hannken RUMP_VOP_UNLOCK(struct vnode *vp)
    528   1.1     pooka {
    529   1.1     pooka 	int error;
    530   1.6     pooka 
    531   1.6     pooka 	rump_schedule();
    532   1.7   hannken 	error = VOP_UNLOCK(vp);
    533   1.3     pooka 	rump_unschedule();
    534   1.6     pooka 
    535   1.1     pooka 	return error;
    536   1.1     pooka }
    537   1.1     pooka 
    538   1.1     pooka int
    539   1.1     pooka RUMP_VOP_BMAP(struct vnode *vp,
    540  1.12     pooka     int64_t bn,
    541   1.1     pooka     struct vnode **vpp,
    542  1.12     pooka     int64_t *bnp,
    543   1.1     pooka     int *runp)
    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_BMAP(vp, bn, vpp, bnp, runp);
    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.1     pooka RUMP_VOP_STRATEGY(struct vnode *vp,
    556   1.1     pooka     struct buf *bp)
    557   1.1     pooka {
    558   1.1     pooka 	int error;
    559   1.6     pooka 
    560   1.6     pooka 	rump_schedule();
    561   1.6     pooka 	error = VOP_STRATEGY(vp, bp);
    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_PRINT(struct vnode *vp)
    569   1.1     pooka {
    570   1.1     pooka 	int error;
    571   1.6     pooka 
    572   1.6     pooka 	rump_schedule();
    573   1.6     pooka 	error = VOP_PRINT(vp);
    574   1.3     pooka 	rump_unschedule();
    575   1.6     pooka 
    576   1.1     pooka 	return error;
    577   1.1     pooka }
    578   1.1     pooka 
    579   1.1     pooka int
    580   1.1     pooka RUMP_VOP_ISLOCKED(struct vnode *vp)
    581   1.1     pooka {
    582   1.1     pooka 	int error;
    583   1.6     pooka 
    584   1.6     pooka 	rump_schedule();
    585   1.6     pooka 	error = VOP_ISLOCKED(vp);
    586   1.3     pooka 	rump_unschedule();
    587   1.6     pooka 
    588   1.1     pooka 	return error;
    589   1.1     pooka }
    590   1.1     pooka 
    591   1.1     pooka int
    592   1.1     pooka RUMP_VOP_PATHCONF(struct vnode *vp,
    593   1.1     pooka     int name,
    594   1.1     pooka     register_t *retval)
    595   1.1     pooka {
    596   1.1     pooka 	int error;
    597   1.6     pooka 
    598   1.6     pooka 	rump_schedule();
    599   1.6     pooka 	error = VOP_PATHCONF(vp, name, retval);
    600   1.3     pooka 	rump_unschedule();
    601   1.6     pooka 
    602   1.1     pooka 	return error;
    603   1.1     pooka }
    604   1.1     pooka 
    605   1.1     pooka int
    606   1.1     pooka RUMP_VOP_ADVLOCK(struct vnode *vp,
    607   1.1     pooka     void *id,
    608   1.1     pooka     int op,
    609   1.1     pooka     struct flock *fl,
    610   1.1     pooka     int flags)
    611   1.1     pooka {
    612   1.1     pooka 	int error;
    613   1.6     pooka 
    614   1.6     pooka 	rump_schedule();
    615   1.6     pooka 	error = VOP_ADVLOCK(vp, id, op, fl, flags);
    616   1.3     pooka 	rump_unschedule();
    617   1.6     pooka 
    618   1.1     pooka 	return error;
    619   1.1     pooka }
    620   1.1     pooka 
    621   1.1     pooka int
    622   1.1     pooka RUMP_VOP_WHITEOUT(struct vnode *dvp,
    623   1.1     pooka     struct componentname *cnp,
    624   1.1     pooka     int flags)
    625   1.1     pooka {
    626   1.1     pooka 	int error;
    627   1.6     pooka 
    628   1.6     pooka 	rump_schedule();
    629   1.6     pooka 	error = VOP_WHITEOUT(dvp, cnp, flags);
    630   1.3     pooka 	rump_unschedule();
    631   1.6     pooka 
    632   1.1     pooka 	return error;
    633   1.1     pooka }
    634   1.1     pooka 
    635   1.1     pooka int
    636   1.1     pooka RUMP_VOP_GETPAGES(struct vnode *vp,
    637   1.1     pooka     off_t offset,
    638   1.1     pooka     struct vm_page **m,
    639   1.1     pooka     int *count,
    640   1.1     pooka     int centeridx,
    641   1.1     pooka     int access_type,
    642   1.1     pooka     int advice,
    643   1.1     pooka     int flags)
    644   1.1     pooka {
    645   1.1     pooka 	int error;
    646   1.6     pooka 
    647   1.6     pooka 	rump_schedule();
    648   1.6     pooka 	error = VOP_GETPAGES(vp, offset, m, count, centeridx, access_type, advice, flags);
    649   1.3     pooka 	rump_unschedule();
    650   1.6     pooka 
    651   1.1     pooka 	return error;
    652   1.1     pooka }
    653   1.1     pooka 
    654   1.1     pooka int
    655   1.1     pooka RUMP_VOP_PUTPAGES(struct vnode *vp,
    656   1.1     pooka     off_t offlo,
    657   1.1     pooka     off_t offhi,
    658   1.1     pooka     int flags)
    659   1.1     pooka {
    660   1.1     pooka 	int error;
    661   1.6     pooka 
    662   1.6     pooka 	rump_schedule();
    663   1.6     pooka 	error = VOP_PUTPAGES(vp, offlo, offhi, flags);
    664   1.3     pooka 	rump_unschedule();
    665   1.6     pooka 
    666   1.1     pooka 	return error;
    667   1.1     pooka }
    668   1.1     pooka 
    669   1.1     pooka int
    670   1.1     pooka RUMP_VOP_CLOSEEXTATTR(struct vnode *vp,
    671   1.1     pooka     int commit,
    672   1.6     pooka     struct kauth_cred *cred)
    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_CLOSEEXTATTR(vp, commit, cred);
    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_GETEXTATTR(struct vnode *vp,
    685   1.1     pooka     int attrnamespace,
    686   1.1     pooka     const char *name,
    687   1.1     pooka     struct uio *uio,
    688   1.1     pooka     size_t *size,
    689   1.6     pooka     struct kauth_cred *cred)
    690   1.1     pooka {
    691   1.1     pooka 	int error;
    692   1.6     pooka 
    693   1.6     pooka 	rump_schedule();
    694   1.6     pooka 	error = VOP_GETEXTATTR(vp, attrnamespace, name, uio, size, cred);
    695   1.3     pooka 	rump_unschedule();
    696   1.6     pooka 
    697   1.1     pooka 	return error;
    698   1.1     pooka }
    699   1.1     pooka 
    700   1.1     pooka int
    701   1.1     pooka RUMP_VOP_LISTEXTATTR(struct vnode *vp,
    702   1.1     pooka     int attrnamespace,
    703   1.1     pooka     struct uio *uio,
    704   1.1     pooka     size_t *size,
    705   1.9      manu     int flag,
    706   1.6     pooka     struct kauth_cred *cred)
    707   1.1     pooka {
    708   1.1     pooka 	int error;
    709   1.6     pooka 
    710   1.6     pooka 	rump_schedule();
    711   1.9      manu 	error = VOP_LISTEXTATTR(vp, attrnamespace, uio, size, flag, cred);
    712   1.3     pooka 	rump_unschedule();
    713   1.6     pooka 
    714   1.1     pooka 	return error;
    715   1.1     pooka }
    716   1.1     pooka 
    717   1.1     pooka int
    718   1.1     pooka RUMP_VOP_OPENEXTATTR(struct vnode *vp,
    719   1.6     pooka     struct kauth_cred *cred)
    720   1.1     pooka {
    721   1.1     pooka 	int error;
    722   1.6     pooka 
    723   1.6     pooka 	rump_schedule();
    724   1.6     pooka 	error = VOP_OPENEXTATTR(vp, cred);
    725   1.3     pooka 	rump_unschedule();
    726   1.6     pooka 
    727   1.1     pooka 	return error;
    728   1.1     pooka }
    729   1.1     pooka 
    730   1.1     pooka int
    731   1.1     pooka RUMP_VOP_DELETEEXTATTR(struct vnode *vp,
    732   1.1     pooka     int attrnamespace,
    733   1.1     pooka     const char *name,
    734   1.6     pooka     struct kauth_cred *cred)
    735   1.1     pooka {
    736   1.1     pooka 	int error;
    737   1.6     pooka 
    738   1.6     pooka 	rump_schedule();
    739   1.6     pooka 	error = VOP_DELETEEXTATTR(vp, attrnamespace, name, cred);
    740   1.3     pooka 	rump_unschedule();
    741   1.6     pooka 
    742   1.1     pooka 	return error;
    743   1.1     pooka }
    744   1.1     pooka 
    745   1.1     pooka int
    746   1.1     pooka RUMP_VOP_SETEXTATTR(struct vnode *vp,
    747   1.1     pooka     int attrnamespace,
    748   1.1     pooka     const char *name,
    749   1.1     pooka     struct uio *uio,
    750   1.6     pooka     struct kauth_cred *cred)
    751   1.1     pooka {
    752   1.1     pooka 	int error;
    753   1.6     pooka 
    754   1.6     pooka 	rump_schedule();
    755   1.6     pooka 	error = VOP_SETEXTATTR(vp, attrnamespace, name, uio, cred);
    756   1.6     pooka 	rump_unschedule();
    757   1.6     pooka 
    758   1.6     pooka 	return error;
    759   1.6     pooka }
    760