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