diff options
author | msmith <msmith@FreeBSD.org> | 1998-03-06 09:46:52 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 1998-03-06 09:46:52 +0000 |
commit | 4df44c447b04d17496dd7701a416a8dc8a400637 (patch) | |
tree | e4fe9f7d2d778e100fa475fe14e16b0b3ffe229b /sys/isofs | |
parent | ea126748df408b251893fa0494eef1a95f744730 (diff) | |
download | FreeBSD-src-4df44c447b04d17496dd7701a416a8dc8a400637.zip FreeBSD-src-4df44c447b04d17496dd7701a416a8dc8a400637.tar.gz |
Trivial filesystem getpages/putpages implementations, set the second.
These should be considered the first steps in a work-in-progress.
Submitted by: Terry Lambert <terry@freebsd.org>
Diffstat (limited to 'sys/isofs')
-rw-r--r-- | sys/isofs/cd9660/cd9660_vnops.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/sys/isofs/cd9660/cd9660_vnops.c b/sys/isofs/cd9660/cd9660_vnops.c index 9a8d0ff..8bdcaea 100644 --- a/sys/isofs/cd9660/cd9660_vnops.c +++ b/sys/isofs/cd9660/cd9660_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95 - * $Id: cd9660_vnops.c,v 1.50 1997/11/18 14:40:36 phk Exp $ + * $Id: cd9660_vnops.c,v 1.51 1997/12/27 02:56:20 bde Exp $ */ #include <sys/param.h> @@ -53,7 +53,9 @@ #include <sys/dirent.h> #include <sys/unistd.h> +#include <vm/vm.h> #include <vm/vm_zone.h> +#include <vm/vnode_pager.h> #include <isofs/cd9660/iso.h> #include <isofs/cd9660/cd9660_node.h> @@ -73,6 +75,8 @@ static int cd9660_readlink __P((struct vop_readlink_args *ap)); static int cd9660_abortop __P((struct vop_abortop_args *)); static int cd9660_strategy __P((struct vop_strategy_args *)); static int cd9660_print __P((struct vop_print_args *)); +static int cd9660_getpages __P((struct vop_getpages_args *)); +static int cd9660_putpages __P((struct vop_putpages_args *)); /* * Setattr call. Only allowed for block and character special devices. @@ -810,6 +814,34 @@ cd9660_pathconf(ap) } /* + * get page routine + * + * XXX By default, wimp out... note that a_offset is ignored (and always + * XXX has been). + */ +int +cd9660_getpages(ap) + struct vop_getpages_args *ap; +{ + return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count, + ap->a_reqpage); +} + +/* + * put page routine + * + * XXX By default, wimp out... note that a_offset is ignored (and always + * XXX has been). + */ +int +cd9660_putpages(ap) + struct vop_putpages_args *ap; +{ + return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count, + ap->a_sync, ap->a_rtvals); +} + +/* * Global vfs data structures for cd9660 */ vop_t **cd9660_vnodeop_p; @@ -833,6 +865,8 @@ static struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = { { &vop_setattr_desc, (vop_t *) cd9660_setattr }, { &vop_strategy_desc, (vop_t *) cd9660_strategy }, { &vop_unlock_desc, (vop_t *) vop_stdunlock }, + { &vop_getpages_desc, (vop_t *) cd9660_getpages }, + { &vop_putpages_desc, (vop_t *) cd9660_putpages }, { NULL, NULL } }; static struct vnodeopv_desc cd9660_vnodeop_opv_desc = |