svn commit: r274826 - in projects/sendfile/sys: kern sys vm
Gleb Smirnoff
glebius at FreeBSD.org
Fri Nov 21 23:05:10 UTC 2014
Author: glebius
Date: Fri Nov 21 23:05:08 2014
New Revision: 274826
URL: https://svnweb.freebsd.org/changeset/base/274826
Log:
Use typedefs
typedef void vop_getpages_iodone_t(void *, vm_page_t *, int, int)
typedef void pgo_getpages_iodone_t(void *, vm_page_t *, int, int)
to define callback function type.
Suggested by: kib
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
Modified:
projects/sendfile/sys/kern/vfs_default.c
projects/sendfile/sys/kern/vnode_if.src
projects/sendfile/sys/sys/vnode.h
projects/sendfile/sys/vm/vm_pager.h
projects/sendfile/sys/vm/vnode_pager.c
projects/sendfile/sys/vm/vnode_pager.h
Modified: projects/sendfile/sys/kern/vfs_default.c
==============================================================================
--- projects/sendfile/sys/kern/vfs_default.c Fri Nov 21 23:04:12 2014 (r274825)
+++ projects/sendfile/sys/kern/vfs_default.c Fri Nov 21 23:05:08 2014 (r274826)
@@ -736,7 +736,7 @@ vop_stdgetpages_async(struct vop_getpage
int error;
error = VOP_GETPAGES(ap->a_vp, ap->a_m, ap->a_count, ap->a_reqpage);
- ap->a_vop_getpages_iodone(ap->a_arg, ap->a_m, ap->a_reqpage, error);
+ ap->a_iodone(ap->a_arg, ap->a_m, ap->a_reqpage, error);
return (error);
}
Modified: projects/sendfile/sys/kern/vnode_if.src
==============================================================================
--- projects/sendfile/sys/kern/vnode_if.src Fri Nov 21 23:04:12 2014 (r274825)
+++ projects/sendfile/sys/kern/vnode_if.src Fri Nov 21 23:05:08 2014 (r274826)
@@ -484,7 +484,7 @@ vop_getpages_async {
IN int count;
IN int reqpage;
IN vm_ooffset_t offset;
- IN void (*vop_getpages_iodone)(void *, vm_page_t *, int, int);
+ IN vop_getpages_iodone_t *iodone;
IN void *arg;
};
Modified: projects/sendfile/sys/sys/vnode.h
==============================================================================
--- projects/sendfile/sys/sys/vnode.h Fri Nov 21 23:04:12 2014 (r274825)
+++ projects/sendfile/sys/sys/vnode.h Fri Nov 21 23:05:08 2014 (r274826)
@@ -574,6 +574,7 @@ vn_canvmio(struct vnode *vp)
/*
* Finally, include the default set of vnode operations.
*/
+typedef void vop_getpages_iodone_t(void *, vm_page_t *, int, int);
#include "vnode_if.h"
/* vn_open_flags */
Modified: projects/sendfile/sys/vm/vm_pager.h
==============================================================================
--- projects/sendfile/sys/vm/vm_pager.h Fri Nov 21 23:04:12 2014 (r274825)
+++ projects/sendfile/sys/vm/vm_pager.h Fri Nov 21 23:05:08 2014 (r274826)
@@ -51,8 +51,9 @@ typedef vm_object_t pgo_alloc_t(void *,
struct ucred *);
typedef void pgo_dealloc_t(vm_object_t);
typedef int pgo_getpages_t(vm_object_t, vm_page_t *, int, int);
+typedef void pgo_getpages_iodone_t(void *, vm_page_t *, int, int);
typedef int pgo_getpages_async_t(vm_object_t, vm_page_t *, int, int,
- void(*)(void *, vm_page_t *, int, int), void *);
+ pgo_getpages_iodone_t *, void *);
typedef void pgo_putpages_t(vm_object_t, vm_page_t *, int, int, int *);
typedef boolean_t pgo_haspage_t(vm_object_t, vm_pindex_t, int *, int *);
typedef void pgo_pageunswapped_t(vm_page_t);
@@ -140,7 +141,7 @@ vm_pager_get_pages(
static inline int
vm_pager_get_pages_async(vm_object_t object, vm_page_t *m, int count,
- int reqpage, void (*iodone)(void *, vm_page_t *, int, int), void *arg)
+ int reqpage, pgo_getpages_iodone_t iodone, void *arg)
{
int r;
Modified: projects/sendfile/sys/vm/vnode_pager.c
==============================================================================
--- projects/sendfile/sys/vm/vnode_pager.c Fri Nov 21 23:04:12 2014 (r274825)
+++ projects/sendfile/sys/vm/vnode_pager.c Fri Nov 21 23:05:08 2014 (r274826)
@@ -83,10 +83,10 @@ static int vnode_pager_input_smlfs(vm_ob
static int vnode_pager_input_old(vm_object_t object, vm_page_t m);
static void vnode_pager_dealloc(vm_object_t);
static int vnode_pager_local_getpages0(struct vnode *, vm_page_t *, int, int,
- void (*)(void *, vm_page_t *, int, int), void *);
+ vop_getpages_iodone_t, void *);
static int vnode_pager_getpages(vm_object_t, vm_page_t *, int, int);
static int vnode_pager_getpages_async(vm_object_t, vm_page_t *, int, int,
- void(*)(void *, vm_page_t *, int, int), void *);
+ vop_getpages_iodone_t, void *);
static void vnode_pager_putpages(vm_object_t, vm_page_t *, int, int, int *);
static boolean_t vnode_pager_haspage(vm_object_t, vm_pindex_t, int *, int *);
static vm_object_t vnode_pager_alloc(void *, vm_ooffset_t, vm_prot_t,
@@ -673,7 +673,7 @@ vnode_pager_getpages(vm_object_t object,
static int
vnode_pager_getpages_async(vm_object_t object, vm_page_t *m, int count,
- int reqpage, void (*iodone)(void *, vm_page_t *, int, int), void *arg)
+ int reqpage, vop_getpages_iodone_t iodone, void *arg)
{
int rtval;
struct vnode *vp;
@@ -706,12 +706,12 @@ vnode_pager_local_getpages_async(struct
{
return (vnode_pager_local_getpages0(ap->a_vp, ap->a_m, ap->a_count,
- ap->a_reqpage, ap->a_vop_getpages_iodone, ap->a_arg));
+ ap->a_reqpage, ap->a_iodone, ap->a_arg));
}
static int
vnode_pager_local_getpages0(struct vnode *vp, vm_page_t *m, int bytecount,
- int reqpage, void (*iodone)(void *, vm_page_t *, int, int), void *arg)
+ int reqpage, vop_getpages_iodone_t iodone, void *arg)
{
vm_page_t mreq;
@@ -747,7 +747,7 @@ vnode_pager_local_getpages0(struct vnode
*/
int
vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int bytecount,
- int reqpage, void (*iodone)(void *, vm_page_t *, int, int), void *arg)
+ int reqpage, vop_getpages_iodone_t iodone, void *arg)
{
vm_object_t object;
off_t foff;
Modified: projects/sendfile/sys/vm/vnode_pager.h
==============================================================================
--- projects/sendfile/sys/vm/vnode_pager.h Fri Nov 21 23:04:12 2014 (r274825)
+++ projects/sendfile/sys/vm/vnode_pager.h Fri Nov 21 23:05:08 2014 (r274826)
@@ -41,8 +41,7 @@
#ifdef _KERNEL
int vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m,
- int count, int reqpage, void (*iodone)(void *, vm_page_t *, int, int),
- void *arg);
+ int count, int reqpage, vop_getpages_iodone_t iodone, void *arg);
int vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *m,
int count, boolean_t sync,
int *rtvals);
More information about the svn-src-projects
mailing list