git: kernel - VM PAGER part 2/2 - Expand vinitvmio() and vnode_pager_alloc()
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Feb 14 08:35:14 PST 2010
commit b0d18f7d0ae8bb16f0ffe429dc925d2183579b45
Author: Matthew Dillon <dillon at 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
More information about the Commits
mailing list