summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorDavid Chinner <david@fromorbit.com>2008-10-30 17:32:23 +1100
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-10-30 17:32:23 +1100
commit2cb1599f9b2ecdd7a9e59feeee647eb258966839 (patch)
treea54cb8c09d209e529d399874eb0be7bc365c5212 /include/linux
parent94b97e39b0c983e86f0028c456dcf213abc722a0 (diff)
downloadkernel-crypto-2cb1599f9b2ecdd7a9e59feeee647eb258966839.tar.gz
kernel-crypto-2cb1599f9b2ecdd7a9e59feeee647eb258966839.tar.xz
kernel-crypto-2cb1599f9b2ecdd7a9e59feeee647eb258966839.zip
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>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5b248d61430..04abead4b02 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1881,6 +1881,7 @@ extern loff_t default_llseek(struct file *file, loff_t offset, int origin);
extern loff_t vfs_llseek(struct file *file, loff_t offset, int origin);
+extern struct inode * inode_init_always(struct super_block *, struct inode *);
extern void inode_init_once(struct inode *);
extern void iput(struct inode *);
extern struct inode * igrab(struct inode *);