fix BUG in control filesystem
authorMiklos Szeredi <miklos@szeredi.hu>
Sun, 28 Jan 2007 17:50:40 +0000 (17:50 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Sun, 28 Jan 2007 17:50:40 +0000 (17:50 +0000)
ChangeLog
kernel/control.c

index 11fd4bbb1a9c02762745535447bf3c202086732b..b3727fd8d5abdf4deaa67ad8421faa3110c94b27 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-28  Miklos Szeredi <miklos@szeredi.hu>
+
+       * kernel: fix BUG in control filesystem if it is umounted and
+       mounted again, while some fuse filesystems are present.
+       Bugreport from Florent Mertens
+
 2007-01-22  Miklos Szeredi <miklos@szeredi.hu>
 
        * lib/Makefile.am: actually link libfuse against libfuse_libs
index 24e8fa459132638f121a0a5f02b3cfe5ef17431f..494deb9d60b4da3af0ef8fe8328f66aed59c3b3c 100644 (file)
@@ -221,8 +221,12 @@ static struct super_block *fuse_ctl_get_sb(struct file_system_type *fs_type,
 
 static void fuse_ctl_kill_sb(struct super_block *sb)
 {
+       struct fuse_conn *fc;
+
        mutex_lock(&fuse_mutex);
        fuse_control_sb = NULL;
+       list_for_each_entry(fc, &fuse_conn_list, entry)
+               fc->ctl_ndents = 0;
        mutex_unlock(&fuse_mutex);
 
        kill_litter_super(sb);