From: Peter K. <ja...@su...> - 2008-02-20 20:15:50
|
>>>>> "Hans" == Hans de Bruin <br...@xs...> writes: Hans> Hi, Hans> Today's actions: Hans> git pull (linus tree 2.6.25-rc2) Hans> applied unionfs patch Hans> applied squasfs3.3 patch for 2.6.24 Hans> make oldconfig Hans> make Hans> ... Hans> fs/squashfs/inode.c:86: error: unknown field 'read_inode' specified in Hans> initializer Hans> fs/squashfs/inode.c:87: warning: initialization from incompatible Hans> pointer type Hans> fs/squashfs/inode.c: In function 'squashfs_get_parent': Hans> fs/squashfs/inode.c:650: error: implicit declaration of function 'iget' Hans> fs/squashfs/inode.c:650: warning: initialization makes pointer from Hans> integer without a cast Hans> make[2]: *** [fs/squashfs/inode.o] Error 1 Hans> make[1]: *** [fs/squashfs] Error 2 Hans> make: *** [fs] Error 2 Yes, the vfs interface changed in 2.6.25-rc1. Hans> Is there any quick solution? There is, if you don't need to export your squashfs over nfs: >From 880b208f8c5209f7a885f5828164588ab1b509e3 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard <ja...@su...> Date: Mon, 11 Feb 2008 11:29:30 +0000 Subject: [PATCH] squashfs: Disable nfs export functionality The iget() interface in the vfs has gotten reworked in 2.6.25-rc1, so squashfs needs to be updated to match. I had a quick look at it, but it seems like you need a bit more squashfs foo than me to figure it out. Luckily it's only used in the nfs export stuff, so disable that for now until there's an official squashfs fix available. --- fs/squashfs/inode.c | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) diff --git a/fs/squashfs/inode.c b/fs/squashfs/inode.c index 911ec11..aafa4ea 100644 --- a/fs/squashfs/inode.c +++ b/fs/squashfs/inode.c @@ -37,8 +37,7 @@ int squashfs_cached_blks; -static void vfs_read_inode(struct inode *i); -static struct dentry *squashfs_get_parent(struct dentry *child); +/*static struct dentry *squashfs_get_parent(struct dentry *child); */ static int squashfs_read_inode(struct inode *i, squashfs_inode_t inode); static int squashfs_statfs(struct dentry *, struct kstatfs *); static int squashfs_symlink_readpage(struct file *file, struct page *page); @@ -83,13 +82,13 @@ static struct super_operations squashfs_export_super_ops = { .destroy_inode = squashfs_destroy_inode, .statfs = squashfs_statfs, .put_super = squashfs_put_super, - .read_inode = vfs_read_inode +/* .read_inode = vfs_read_inode */ }; - +/* static struct export_operations squashfs_export_ops = { .get_parent = squashfs_get_parent }; - +*/ SQSH_EXTERN const struct address_space_operations squashfs_symlink_aops = { .readpage = squashfs_symlink_readpage }; @@ -630,8 +629,8 @@ static squashfs_inode_t squashfs_inode_lookup(struct super_block *s, int ino) out: return SQUASHFS_INVALID_BLK; } - +/* static void vfs_read_inode(struct inode *i) { struct squashfs_sb_info *msblk = i->i_sb->s_fs_info; @@ -664,7 +663,7 @@ static struct dentry *squashfs_get_parent(struct dentry *child) out: return rv; } - +*/ SQSH_EXTERN struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode, unsigned int inode_number) @@ -1258,7 +1257,7 @@ static int squashfs_fill_super(struct super_block *s, void *data, int silent) goto failed_mount; s->s_op = &squashfs_export_super_ops; - s->s_export_op = &squashfs_export_ops; +/* s->s_export_op = &squashfs_export_ops; */ allocate_root: root = new_inode(s); -- 1.5.4.1 -- Bye, Peter Korsgaard |