Date: Sun, 17 May 2009 13:07:15 GMT From: Zhao Shuai <zhaoshuai@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 162212 for review Message-ID: <200905171307.n4HD7FcM026332@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=162212 Change 162212 by zhaoshuai@zhaoshuai on 2009/05/17 13:06:25 first version of fifo_vnops that compiles, still incomplete Affected files ... .. //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#4 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#4 (text+ko) ==== @@ -44,6 +44,7 @@ #include <sys/unistd.h> #include <sys/vnode.h> #include <sys/pipe.h> +#include <fs/fifofs/fifo.h> static fo_rdwr_t fifo_read_f; static fo_rdwr_t fifo_write_f; @@ -55,14 +56,14 @@ static fo_truncate_t fifo_truncate_f; struct fileops fifo_ops_f = { - .fo_read = fifo_read_f; - .fo_write = fifo_write_f; - .fo_truncate = fifo_truncate_f; - .fo_ioctl = fifo_ioctl_f; - .fo_poll = fifo_poll_f; - .fo_kqfilter = fifo_kqfilter_f; - .fo_stat = fifo_stat_f; - .fo_close = fifo_close_t; + .fo_read = fifo_read_f, + .fo_write = fifo_write_f, + .fo_truncate = fifo_truncate_f, + .fo_ioctl = fifo_ioctl_f, + .fo_poll = fifo_poll_f, + .fo_kqfilter = fifo_kqfilter_f, + .fo_stat = fifo_stat_f, + .fo_close = fifo_close_f, .fo_flags = DFLAG_PASSABLE }; @@ -83,15 +84,14 @@ static vop_advlock_t fifo_advlock; struct vop_vector fifo_specops = { - .vop_default = &default_vndeops. + .vop_default = &default_vnodeops, .vop_access = VOP_EBADF, .vop_advlock = fifo_advlock, - .vop_close = fifo_close. - .vop_create = VOP_PANIC. + .vop_close = fifo_close, + .vop_create = VOP_PANIC, .vop_getattr = VOP_EBADF, .vop_ioctl = VOP_PANIC, .vop_kqfilter = VOP_PANIC, - .vop_lease = VOP_NULL, .vop_link = VOP_PANIC, .vop_mkdir = VOP_PANIC, .vop_mknod = VOP_PANIC, @@ -128,8 +128,6 @@ { struct vnode *vp = ap->a_vp; struct fifoinfo *fip; - struct thread *td = ap->a_td; - struct ucred *cred = ap->a_cred; struct file *fp = ap->a_fp; struct pipepair *pp; @@ -177,7 +175,7 @@ int a_fflag; struct ucred *a_cred; struct thread *a_td; - } */ ap; + } */ *ap; { struct vnode *vp = ap->a_vp; struct fifoinfo *fip = vp->v_fifoinfo; @@ -194,15 +192,12 @@ } /* - * Print out the contents of a fifo vnode + * Print out internel contents of a fifo vnode */ -static int -fifo_print(ap) - struct vop_print_args /* { - struct vnode *a_vp; - } */ ap; +int +fifo_printinfo(struct vnode *vp) { - struct fifoinfo *fip = ap->a_vp->v_fifoinfo; + struct fifoinfo *fip = vp->v_fifoinfo; if (fip == NULL) { printf(", NULL v_fifoinfo"); @@ -210,6 +205,20 @@ } printf(", fifo with %ld readers and %ld writers", fip->fi_readers, fip->fi_writers); + return (0); +} + +/* + * Print out the contents of a fifo vnode. + */ +static int +fifo_print(ap) + struct vop_print_args /* { + struct vnode *a_vp; + } */ *ap; +{ + printf(" "); + fifo_printinfo(ap->a_vp); printf("\n"); return (0); } @@ -241,7 +250,7 @@ int a_flags; } */ *ap; { - return (ap->a_flags & F_FLOCK ? EOPNOTSUPPP : EINVAL); + return (ap->a_flags & F_FLOCK ? EOPNOTSUPP : EINVAL); } static int @@ -249,7 +258,7 @@ { int error; struct fifoinfo *fip = fp->f_data; - fp->f_data = &fip->fi_pp->rpipe; + fp->f_data = &fip->fi_pp->pp_rpipe; error = pipe_read(fp, uio, cred, flags, td); fp->f_data = fip; @@ -261,7 +270,7 @@ { int error; struct fifoinfo *fip = fp->f_data; - fp->f_data = &fip->fi_pp->wpipe; + fp->f_data = &fip->fi_pp->pp_wpipe; error = pipe_write(fp, uio, cred, flags, td); fp->f_data = fip;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905171307.n4HD7FcM026332>
