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/msdosfs | |
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/msdosfs')
-rw-r--r-- | sys/msdosfs/msdosfs_vnops.c | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c index 9441053..34225da 100644 --- a/sys/msdosfs/msdosfs_vnops.c +++ b/sys/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_vnops.c,v 1.63 1998/03/01 21:26:09 msmith Exp $ */ +/* $Id: msdosfs_vnops.c,v 1.64 1998/03/03 02:50:24 msmith Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.68 1998/02/10 14:10:04 mrg Exp $ */ /*- @@ -67,6 +67,7 @@ #include <vm/vm.h> #include <vm/vm_extern.h> #include <vm/vm_zone.h> +#include <vm/vnode_pager.h> #include <msdosfs/bpb.h> #include <msdosfs/direntry.h> @@ -98,6 +99,8 @@ static int msdosfs_bmap __P((struct vop_bmap_args *)); static int msdosfs_strategy __P((struct vop_strategy_args *)); static int msdosfs_print __P((struct vop_print_args *)); static int msdosfs_pathconf __P((struct vop_pathconf_args *ap)); +static int msdosfs_getpages __P((struct vop_getpages_args *)); +static int msdosfs_putpages __P((struct vop_putpages_args *)); /* * Some general notes: @@ -1928,6 +1931,34 @@ msdosfs_pathconf(ap) /* NOTREACHED */ } +/* + * get page routine + * + * XXX By default, wimp out... note that a_offset is ignored (and always + * XXX has been). + */ +int +msdosfs_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 +msdosfs_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 msdosfs */ vop_t **msdosfs_vnodeop_p; static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = { @@ -1960,6 +1991,8 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = { { &vop_symlink_desc, (vop_t *) msdosfs_symlink }, { &vop_unlock_desc, (vop_t *) vop_stdunlock }, { &vop_write_desc, (vop_t *) msdosfs_write }, + { &vop_getpages_desc, (vop_t *) msdosfs_getpages }, + { &vop_putpages_desc, (vop_t *) msdosfs_putpages }, { NULL, NULL } }; static struct vnodeopv_desc msdosfs_vnodeop_opv_desc = |