diff -Naur linux-2.6.18-rc2.orig/fs/squashfs/inode.c linux-2.6.18-rc2/fs/squashfs/inode.c --- linux-2.6.18-rc2.orig/fs/squashfs/inode.c 2006-07-20 22:09:11.000000000 +0200 +++ linux-2.6.18-rc2/fs/squashfs/inode.c 2006-07-20 22:11:27.000000000 +0200 @@ -45,7 +45,7 @@ #include "squashfs.h" static void squashfs_put_super(struct super_block *); -static int squashfs_statfs(struct super_block *, struct kstatfs *); +static int squashfs_statfs(struct dentry *, struct kstatfs *); static int squashfs_symlink_readpage(struct file *file, struct page *page); static int squashfs_readpage(struct file *file, struct page *page); static int squashfs_readpage4K(struct file *file, struct page *page); @@ -60,8 +60,8 @@ static long long read_blocklist(struct inode *inode, int index, int readahead_blks, char *block_list, unsigned short **block_p, unsigned int *bsize); -static struct super_block *squashfs_get_sb(struct file_system_type *, int, - const char *, void *); +static int squashfs_get_sb(struct file_system_type *, int, + const char *, void *, struct vfsmount *); static z_stream stream; @@ -1148,8 +1148,9 @@ } -static int squashfs_statfs(struct super_block *s, struct kstatfs *buf) +static int squashfs_statfs(struct dentry *dentry, struct kstatfs *buf) { + struct super_block *s = dentry->d_sb; struct squashfs_sb_info *msblk = s->s_fs_info; struct squashfs_super_block *sblk = &msblk->sblk; @@ -2030,10 +2031,12 @@ } -static struct super_block *squashfs_get_sb(struct file_system_type *fs_type, - int flags, const char *dev_name, void *data) +static int squashfs_get_sb(struct file_system_type *fs_type, int flags, + const char *dev_name, void *data, + struct vfsmount *mnt) { - return get_sb_bdev(fs_type, flags, dev_name, data, squashfs_fill_super); + return get_sb_bdev(fs_type, flags, dev_name, data, + squashfs_fill_super, mnt); }