diff options
author | msmith <msmith@FreeBSD.org> | 1998-03-01 00:51:43 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 1998-03-01 00:51:43 +0000 |
commit | c6d6c0fbd79bcb5cceb4d26eada127b27129fc67 (patch) | |
tree | fb68e4f8123c341e3bf3d875523758d89ae54607 /sys/gnu/fs | |
parent | 1823fa8509c95e53e8d590cb1c88a7276cdaa60f (diff) | |
download | FreeBSD-src-c6d6c0fbd79bcb5cceb4d26eada127b27129fc67.zip FreeBSD-src-c6d6c0fbd79bcb5cceb4d26eada127b27129fc67.tar.gz |
Add local stup putpages/getpages routines.
Submitted by: Terry Lambert <terry@freebsd.org>
Diffstat (limited to 'sys/gnu/fs')
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_vnops.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c index 91a89c9..bff0a8ce 100644 --- a/sys/gnu/fs/ext2fs/ext2_vnops.c +++ b/sys/gnu/fs/ext2fs/ext2_vnops.c @@ -63,6 +63,7 @@ #include <vm/vm.h> #include <vm/vm_extern.h> #include <vm/vm_zone.h> +#include <vm/vnode_pager.h> #include <sys/signalvar.h> #include <ufs/ufs/dir.h> @@ -88,6 +89,8 @@ static int ext2_rmdir __P((struct vop_rmdir_args *)); static int ext2_create __P((struct vop_create_args *)); static int ext2_mknod __P((struct vop_mknod_args *)); static int ext2_symlink __P((struct vop_symlink_args *)); +static int ext2_getpages __P((struct vop_getpages_args *)); +static int ext2_putpages __P((struct vop_putpages_args *)); /* Global vfs data structures for ufs. */ vop_t **ext2_vnodeop_p; @@ -109,6 +112,8 @@ static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = { { &vop_create_desc, (vop_t *) ext2_create }, { &vop_mknod_desc, (vop_t *) ext2_mknod }, { &vop_symlink_desc, (vop_t *) ext2_symlink }, + { &vop_getpages_desc, (vop_t *) ext2_getpages }, + { &vop_putpages_desc, (vop_t *) ext2_putpages }, { NULL, NULL } }; static struct vnodeopv_desc ext2fs_vnodeop_opv_desc = @@ -1199,3 +1204,31 @@ bad: vput(tvp); return (error); } + +/* + * get page routine + * + * XXX By default, wimp out... note that a_offset is ignored (and always + * XXX has been). + */ +int +ext2_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 +ext2_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); +} |