Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Nov 2014 23:05:09 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r274826 - in projects/sendfile/sys: kern sys vm
Message-ID:  <201411212305.sALN59Du040317@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411212305.sALN59Du040317>