kernel - VM PAGER part 2/2 - Expand vinitvmio() and vnode_pager_alloc()
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 14 Feb 2010 16:29:10 +0000 (08:29 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 14 Feb 2010 16:29:10 +0000 (08:29 -0800)
commitb0d18f7d0ae8bb16f0ffe429dc925d2183579b45
tree04a99fa4aca2082112d739b50fcc57b0e8243084
parent5a648714491869e9bd4b4b9054bcb0d80b7c362d
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.
16 files changed:
sys/kern/vfs_subr.c
sys/sys/vnode.h
sys/vfs/devfs/devfs_vnops.c
sys/vfs/gnu/ext2fs/ext2_vnops.c
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_vnops.c
sys/vfs/isofs/cd9660/cd9660_vfsops.c
sys/vfs/msdosfs/msdosfs_denode.c
sys/vfs/nfs/nfs_subs.c
sys/vfs/ntfs/ntfs_subr.c
sys/vfs/ntfs/ntfs_vfsops.c
sys/vfs/tmpfs/tmpfs_subr.c
sys/vfs/ufs/ufs_vnops.c
sys/vfs/userfs/userfs_inode.c
sys/vm/vm_pager.h
sys/vm/vnode_pager.c