[XFS] pass XFS_IGET_BULKSTAT to xfs_iget for handle operations
authorChristoph Hellwig <hch@infradead.org>
Thu, 1 Jan 2009 19:21:16 +0000 (14:21 -0500)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Fri, 9 Jan 2009 04:17:17 +0000 (15:17 +1100)
commitc9a98553d513dfc82cdce869970d5662c1f22c68
treed68cc98fa807d9f9719cb04307739ab9f9d9b9b5
parent9e42d0cf5020aaf217433cad1a224745241d212a
[XFS] pass XFS_IGET_BULKSTAT to xfs_iget for handle operations

NFS clients or users of the handle ioctls can pass us arbitrary inode
numbers through the exportfs interface.  Make sure we use the
XFS_IGET_BULKSTAT so that these don't cause shutdowns due to the corruption
checks.  Also translate the EINVAL we get back for invalid inode clusters
into an ESTALE which is more appropinquate, and remove the useless check
for a NULL inode on a successfull xfs_iget return.

I have a testcase to reproduce this using the handle interface which
I will submit to xfsqa.

Reported-by: Mario Becroft <mb@gem.win.co.nz>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
fs/xfs/linux-2.6/xfs_export.c