summaryrefslogtreecommitdiffstats
path: root/sys/gnu
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>1998-03-01 00:51:43 +0000
committermsmith <msmith@FreeBSD.org>1998-03-01 00:51:43 +0000
commitc6d6c0fbd79bcb5cceb4d26eada127b27129fc67 (patch)
treefb68e4f8123c341e3bf3d875523758d89ae54607 /sys/gnu
parent1823fa8509c95e53e8d590cb1c88a7276cdaa60f (diff)
downloadFreeBSD-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')
-rw-r--r--sys/gnu/ext2fs/ext2_vnops.c33
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vnops.c33
2 files changed, 66 insertions, 0 deletions
diff --git a/sys/gnu/ext2fs/ext2_vnops.c b/sys/gnu/ext2fs/ext2_vnops.c
index 91a89c9..bff0a8ce 100644
--- a/sys/gnu/ext2fs/ext2_vnops.c
+++ b/sys/gnu/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);
+}
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);
+}
OpenPOWER on IntegriCloud