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);