Inode: Allow external initialisers
authorDavid Chinner <david@fromorbit.com>
Thu, 30 Oct 2008 06:32:23 +0000 (17:32 +1100)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Thu, 30 Oct 2008 06:32:23 +0000 (17:32 +1100)
commit2cb1599f9b2ecdd7a9e59feeee647eb258966839
treea54cb8c09d209e529d399874eb0be7bc365c5212
parent94b97e39b0c983e86f0028c456dcf213abc722a0
Inode: Allow external initialisers

To allow XFS to combine the XFS and linux inodes into a single
structure, we need to drive inode lookup from the XFS inode cache,
not the generic inode cache. This means that we need initialise a
struct inode from a context outside alloc_inode() as it is no longer
used by XFS.

Factor and export the struct inode initialisation code from
alloc_inode() to inode_init_always() as a counterpart to
inode_init_once().  i.e. we have to call this init function for each
inode instantiation (always), as opposed inode_init_once() which is
only called on slab object instantiation (once).

Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
fs/inode.c
include/linux/fs.h