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 = {

Reply via email to