summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2001-05-01 08:34:45 +0000
committerphk <phk@FreeBSD.org>2001-05-01 08:34:45 +0000
commit5948c9ed5b3c16fe0bc873bffb152989a3abf100 (patch)
tree01c953fe3c0f1e5488cf57f057284ac4c071f8d1 /sys/kern
parentbcca5847d5e7a197302d7689cd358f5ce6316d0a (diff)
downloadFreeBSD-src-5948c9ed5b3c16fe0bc873bffb152989a3abf100.zip
FreeBSD-src-5948c9ed5b3c16fe0bc873bffb152989a3abf100.tar.gz
Implement vop_std{get|put}pages() and add them to the default vop[].
Un-copy&paste all the VOP_{GET|PUT}PAGES() functions which do nothing but the default.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_default.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c
index d5e1e24..47af7e3 100644
--- a/sys/kern/vfs_default.c
+++ b/sys/kern/vfs_default.c
@@ -85,6 +85,7 @@ static struct vnodeopv_entry_desc default_vnodeop_entries[] = {
{ &vop_createvobject_desc, (vop_t *) vop_stdcreatevobject },
{ &vop_destroyvobject_desc, (vop_t *) vop_stddestroyvobject },
{ &vop_fsync_desc, (vop_t *) vop_null },
+ { &vop_getpages_desc, (vop_t *) vop_stdgetpages },
{ &vop_getvobject_desc, (vop_t *) vop_stdgetvobject },
{ &vop_inactive_desc, (vop_t *) vop_stdinactive },
{ &vop_ioctl_desc, (vop_t *) vop_enotty },
@@ -94,6 +95,7 @@ static struct vnodeopv_entry_desc default_vnodeop_entries[] = {
{ &vop_lookup_desc, (vop_t *) vop_nolookup },
{ &vop_open_desc, (vop_t *) vop_null },
{ &vop_pathconf_desc, (vop_t *) vop_einval },
+ { &vop_putpages_desc, (vop_t *) vop_stdputpages },
{ &vop_poll_desc, (vop_t *) vop_nopoll },
{ &vop_readlink_desc, (vop_t *) vop_einval },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
@@ -633,6 +635,37 @@ vop_stdbmap(ap)
return (0);
}
+int
+vop_stdgetpages(ap)
+ struct vop_getpages_args /* {
+ struct vnode *a_vp;
+ vm_page_t *a_m;
+ int a_count;
+ int a_reqpage;
+ vm_ooffset_t a_offset;
+ } */ *ap;
+{
+
+ return vnode_pager_generic_getpages(ap->a_vp, ap->a_m,
+ ap->a_count, ap->a_reqpage);
+}
+
+vop_stdputpages(ap)
+ struct vop_putpages_args /* {
+ struct vnode *a_vp;
+ vm_page_t *a_m;
+ int a_count;
+ int a_sync;
+ int *a_rtvals;
+ vm_ooffset_t a_offset;
+ } */ *ap;
+{
+
+ vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
+ ap->a_sync, ap->a_rtvals);
+}
+
+
/*
* vfs default ops
OpenPOWER on IntegriCloud