From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:06:21 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 23A1E500; Fri, 14 Nov 2014 18:06:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EC015B07; Fri, 14 Nov 2014 18:06:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEI6KnB068528; Fri, 14 Nov 2014 18:06:20 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEI6KWB068527; Fri, 14 Nov 2014 18:06:20 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141806.sAEI6KWB068527@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 18:06:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274518 - projects/sendfile/sys/vm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:06:21 -0000 Author: glebius Date: Fri Nov 14 18:06:20 2014 New Revision: 274518 URL: https://svnweb.freebsd.org/changeset/base/274518 Log: - Move declaration of struct getpages_softc to beginning of file and document it. - Make static vnode_pager_generic_getpages_done() and vnode_pager_generic_getpages_done_async(). Modified: projects/sendfile/sys/vm/vnode_pager.c Modified: projects/sendfile/sys/vm/vnode_pager.c ============================================================================== --- projects/sendfile/sys/vm/vnode_pager.c Fri Nov 14 18:01:18 2014 (r274517) +++ projects/sendfile/sys/vm/vnode_pager.c Fri Nov 14 18:06:20 2014 (r274518) @@ -77,6 +77,25 @@ __FBSDID("$FreeBSD$"); #include #include +/* + * Structure to communicate to pass state from vnode_pager_generic_getpages() + * to vnode_pager_generic_getpages_done() either to + * vnode_pager_generic_getpages_done_async(). + */ +struct getpages_softc { + vm_page_t *m; + struct buf *bp; + vm_object_t object; + vm_offset_t kva; + off_t foff; + int size; + int count; + int unmapped; + int reqpage; + void (*iodone)(void *, int); + void *arg; +}; + static int vnode_pager_addr(struct vnode *vp, vm_ooffset_t address, daddr_t *rtaddress, int *run); static int vnode_pager_input_smlfs(vm_object_t object, vm_page_t m); @@ -91,6 +110,8 @@ static void vnode_pager_putpages(vm_obje 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, vm_ooffset_t, struct ucred *cred); +static int vnode_pager_generic_getpages_done(struct getpages_softc *); +static void vnode_pager_generic_getpages_done_async(struct buf *); struct pagerops vnodepagerops = { .pgo_alloc = vnode_pager_alloc, @@ -686,23 +707,6 @@ vnode_pager_getpages_async(vm_object_t o return rtval; } -struct getpages_softc { - vm_page_t *m; - struct buf *bp; - vm_object_t object; - vm_offset_t kva; - off_t foff; - int size; - int count; - int unmapped; - int reqpage; - void (*iodone)(void *, int); - void *arg; -}; - -int vnode_pager_generic_getpages_done(struct getpages_softc *); -void vnode_pager_generic_getpages_done_async(struct buf *); - /* * The implementation of VOP_GETPAGES() and VOP_GETPAGES_ASYNC() for * local filesystems, where partially valid pages can only occur at @@ -1049,7 +1053,7 @@ vnode_pager_generic_getpages(struct vnod return (error ? VM_PAGER_ERROR : VM_PAGER_OK); } -void +static void vnode_pager_generic_getpages_done_async(struct buf *bp) { struct getpages_softc *sc = bp->b_caller1; @@ -1064,7 +1068,7 @@ vnode_pager_generic_getpages_done_async( free(sc, M_TEMP); } -int +static int vnode_pager_generic_getpages_done(struct getpages_softc *sc) { vm_object_t object;