HAMMER / VFS_VGET - Add optional dvp argument to VFS_VGET(). Fix readdirplus
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 23 Jul 2009 05:00:13 +0000 (22:00 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 23 Jul 2009 05:00:13 +0000 (22:00 -0700)
commitb9b0a6d05cf8d3fdabaadab7076af97ab2f154ea
tree29c9b375ef636c2dcc81354bc408874f2758a28f
parentebaced37eb69b3d349d980f1533d67b235be06c4
HAMMER / VFS_VGET - Add optional dvp argument to VFS_VGET().  Fix readdirplus

* VGET is used by NFS to acquire a vnode given an inode number.  HAMMER
  requires additional information to determine the PFS the inode is being
  acquired from.

  Add an optional directory vnode argument to the VGET.  If non-NULL, HAMMER
  will extract the PFS information from this vnode.

* Adjust NFS to pass the dvp to VGET when doing a readdirplus.

  Note that the PFS is already encoded in file handles, but readdirplus
  acquires the attributes for each directory entry it scans (readdir does
  not).  This fixes readdirplus for NFS served HAMMER PFS exports.
27 files changed:
sys/kern/vfs_default.c
sys/sys/mount.h
sys/vfs/gnu/ext2fs/ext2_alloc.c
sys/vfs/gnu/ext2fs/ext2_lookup.c
sys/vfs/gnu/ext2fs/ext2_vfsops.c
sys/vfs/gnu/ext2fs/ext2_vnops.c
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hpfs/hpfs_subr.c
sys/vfs/hpfs/hpfs_vfsops.c
sys/vfs/hpfs/hpfs_vnops.c
sys/vfs/isofs/cd9660/cd9660_vfsops.c
sys/vfs/nfs/nfs_serv.c
sys/vfs/ntfs/ntfs_subr.c
sys/vfs/ntfs/ntfs_vfsops.c
sys/vfs/ntfs/ntfs_vnops.c
sys/vfs/udf/udf.h
sys/vfs/udf/udf_vfsops.c
sys/vfs/udf/udf_vnops.c
sys/vfs/ufs/ffs_alloc.c
sys/vfs/ufs/ffs_extern.h
sys/vfs/ufs/ffs_softdep.c
sys/vfs/ufs/ffs_vfsops.c
sys/vfs/ufs/ufs_lookup.c
sys/vfs/ufs/ufs_vfsops.c
sys/vfs/ufs/ufs_vnops.c
sys/vfs/userfs/userfs.h
sys/vfs/userfs/userfs_inode.c