diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2014-11-23 12:01:52 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2014-11-23 12:01:52 +0000 |
commit | 90effb23412fae2a397a34f4983e15dfc522e34b (patch) | |
tree | f1f00e6a4e1bf77d75d8ea1deacb1498df360944 /sys/vm/vnode_pager.h | |
parent | 03fcebe6a2db9285dc920e704e8110204771d985 (diff) | |
download | src-90effb23412fae2a397a34f4983e15dfc522e34b.tar.gz src-90effb23412fae2a397a34f4983e15dfc522e34b.zip |
Merge from projects/sendfile:
o Provide a new VOP_GETPAGES_ASYNC(), which works like VOP_GETPAGES(), but
doesn't sleep. It returns immediately, and will execute the I/O done handler
function that must be supplied as argument.
o Provide VOP_GETPAGES_ASYNC() for the FFS, which uses vnode_pager.
o Extend pagertab to support pgo_getpages_async method, and implement this
method for vnode_pager.
Reviewed by: kib
Tested by: pho
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
Notes
Notes:
svn path=/head/; revision=274914
Diffstat (limited to 'sys/vm/vnode_pager.h')
-rw-r--r-- | sys/vm/vnode_pager.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vnode_pager.h b/sys/vm/vnode_pager.h index b6b85f45e308..1ff16ebfa937 100644 --- a/sys/vm/vnode_pager.h +++ b/sys/vm/vnode_pager.h @@ -41,11 +41,12 @@ #ifdef _KERNEL int vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, - int count, int reqpage); + 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); int vnode_pager_local_getpages(struct vop_getpages_args *ap); +int vnode_pager_local_getpages_async(struct vop_getpages_async_args *ap); void vnode_pager_release_writecount(vm_object_t object, vm_offset_t start, vm_offset_t end); |