git: kernel - VM PAGER part 2/2 - Expand vinitvmio() and vnode_p

看板DFBSD_commit作者時間16年前 (2010/02/15 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit b0d18f7d0ae8bb16f0ffe429dc925d2183579b45 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sun Feb 14 08:29:10 2010 -0800 kernel - VM PAGER part 2/2 - Expand vinitvmio() and vnode_pager_alloc() * vinitvmio() is responsible for assigning the initial VM object size based on the file size. Adjust vinitvmio() to conform to the new nvextendbuf() and nvtruncbuf() API. * vinitvmio() has been given two additional parameters, blksize and boff, to allow it to determine how much larger the VM object must be relative to the byte-granular file size passed to it. * Remove vm_page_alloc() and remove the pgo_alloc vector from struct pagerops. Convert all the VM pager allocation procedures into global procedures which are called directly. Trying to feed everything through a single function was a joke when all the callers knew precisely what kind of VM object they were creating anyway. Add the extra arguments to vnode_pager_alloc() which vinitvmio() needs to pass in. Summary of changes: sys/kern/vfs_subr.c | 4 +- sys/sys/vnode.h | 2 +- sys/vfs/devfs/devfs_vnops.c | 2 +- sys/vfs/gnu/ext2fs/ext2_vnops.c | 11 ++++--- sys/vfs/hammer/hammer_inode.c | 7 +++- sys/vfs/hammer/hammer_vnops.c | 8 +++++- sys/vfs/isofs/cd9660/cd9660_vfsops.c | 2 +- sys/vfs/msdosfs/msdosfs_denode.c | 2 +- sys/vfs/nfs/nfs_subs.c | 7 ++++- sys/vfs/ntfs/ntfs_subr.c | 2 +- sys/vfs/ntfs/ntfs_vfsops.c | 2 +- sys/vfs/tmpfs/tmpfs_subr.c | 2 +- sys/vfs/ufs/ufs_vnops.c | 18 ++++++++---- sys/vfs/userfs/userfs_inode.c | 2 +- sys/vm/vm_pager.h | 2 +- sys/vm/vnode_pager.c | 49 +++++++++++++++++++++++++++------- 16 files changed, 86 insertions(+), 36 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b0d18f7d0ae8bb16f0ffe429dc925d2183579b45 -- DragonFly BSD source repository
文章代碼(AID): #1BU3fc_O (DFBSD_commit)