C.Y.M wrote:
> This is a quick hack that solves the build problem with kernel 2.6.18. This
> is
> not a backwards compatible patch.
>
Apparently, The 2.6.18 stats callback parameters have changed from 2.6.17 so
that it takes a struct dentry* rather than a struct super_block.
Revised patch applied for 2.6.18.
Best Regards.
--- lufs/kernel/Linux/2.6/inode.c 2006-10-05 04:10:30.000000000 -0700
+++ lufs.new/kernel/Linux/2.6/inode.c 2006-10-05 04:07:27.000000000 -0700
@@ -53,7 +53,7 @@
static void lu_delete_inode(struct inode*);
static void lu_put_super(struct super_block*);
-static int lu_statfs(struct super_block*, struct statfs*);
+static int lu_statfs(struct dentry*, struct statfs*);
static struct super_operations lu_sops = {
.drop_inode = generic_drop_inode,
@@ -383,7 +383,7 @@
return res;
}
-static int lu_statfs(struct super_block *sb, struct statfs *attr)
+static int lu_statfs(struct dentry * dentry, struct statfs *attr)
{
TRACE("in\n");
@@ -510,9 +510,9 @@
return -EINVAL;
}
-static struct super_block *lu_get_sb(struct file_system_type *fs_type, int flags, char *dev_name, void *data)
+static int lu_get_sb(struct file_system_type *fs_type, int flags, char *dev_name, void *data, struct vfsmount *mnt)
{
- return get_sb_nodev(fs_type, flags, data, lu_fill_super);
+ return get_sb_nodev(fs_type, flags, data, lu_fill_super, mnt);
}
static struct file_system_type lu_fs_type = {