diff options
author | phk <phk@FreeBSD.org> | 2001-05-01 08:34:45 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2001-05-01 08:34:45 +0000 |
commit | 5948c9ed5b3c16fe0bc873bffb152989a3abf100 (patch) | |
tree | 01c953fe3c0f1e5488cf57f057284ac4c071f8d1 /sys/kern | |
parent | bcca5847d5e7a197302d7689cd358f5ce6316d0a (diff) | |
download | FreeBSD-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.c | 33 |
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 |