Package: shfs-source
Version: 0.35-6
Followup-For: Bug #386229

Hello,

Sorry, the patch that I posted yesterday was also incomplete and caused
oops in statfs.

Here is a new patch attached hereafter that seems to cure the problem
and has been tested as much as possible.

-- 
Michel Casabona
diff -U1 -r shfs-0.35-6/Linux-2.6/inode.c shfs/Linux-2.6/inode.c
--- shfs-0.35-6/Linux-2.6/inode.c       2006-04-14 23:55:49.000000000 +0200
+++ shfs/Linux-2.6/inode.c      2006-09-26 20:25:09.000000000 +0200
@@ -343,7 +343,7 @@
 
-static struct super_block *
+static int
 shfs_get_sb(struct file_system_type *fs_type,
-           int flags, const char *dev_name, void *data)
+           int flags, const char *dev_name, void *data, struct vfsmount *mnt)
 {
-       return get_sb_nodev(fs_type, flags, data, shfs_read_super);
+       return get_sb_nodev(fs_type, flags, data, shfs_read_super, mnt);
 }
diff -U1 -r shfs-0.35-6/Linux-2.6/proc.c shfs/Linux-2.6/proc.c
--- shfs-0.35-6/Linux-2.6/proc.c        2004-06-01 15:16:19.000000000 +0200
+++ shfs/Linux-2.6/proc.c       2006-09-27 19:28:22.000000000 +0200
@@ -573,4 +573,5 @@
 int
-shfs_statfs(struct super_block *sb, struct kstatfs *attr)
+shfs_statfs(struct dentry *dentry, struct kstatfs *attr)
 {
+       struct super_block *sb = dentry->d_sb;
        struct shfs_sb_info *info = info_from_sb(sb);
diff -U1 -r shfs-0.35-6/Linux-2.6/shfs_fs.h shfs/Linux-2.6/shfs_fs.h
--- shfs-0.35-6/Linux-2.6/shfs_fs.h     2006-04-14 23:55:49.000000000 +0200
+++ shfs/Linux-2.6/shfs_fs.h    2006-09-27 19:03:26.000000000 +0200
@@ -102,3 +102,3 @@
 int shfs_notify_change(struct dentry *dentry, struct iattr *attr);
-int shfs_statfs(struct super_block *sb, struct kstatfs *attr);
+int shfs_statfs(struct dentry *dentry, struct kstatfs *attr);
        

Reply via email to