| Kernel v2.4.16-pre1 /fs/super.c |
|---|
 2.4.16-pre1
 fs
 super.c
diff -Nur linux-2.4.15/fs/super.c linux/fs/super.c
--- linux-2.4.15/fs/super.c Wed Nov 21 20:05:29 2001
+++ linux/fs/super.c Sat Nov 24 16:22:41 2001
@@ -462,6 +462,7 @@
lock_super(s);
if (!type->read_super(s, data, flags & MS_VERBOSE ? 1 : 0))
goto out_fail;
+ s->s_flags |= MS_ACTIVE;
unlock_super(s);
/* tell bdcache that we are going to keep this one */
if (bdev)
@@ -614,6 +615,7 @@
lock_super(s);
if (!fs_type->read_super(s, data, flags & MS_VERBOSE ? 1 : 0))
goto out_fail;
+ s->s_flags |= MS_ACTIVE;
unlock_super(s);
get_filesystem(fs_type);
path_release(&nd);
@@ -695,6 +697,7 @@
lock_super(s);
if (!fs_type->read_super(s, data, flags & MS_VERBOSE ? 1 : 0))
goto out_fail;
+ s->s_flags |= MS_ACTIVE;
unlock_super(s);
get_filesystem(fs_type);
return s;
@@ -739,6 +742,7 @@
dput(root);
fsync_super(sb);
lock_super(sb);
+ sb->s_flags &= ~MS_ACTIVE;
invalidate_inodes(sb); /* bad name - it should be evict_inodes() */
if (sop) {
if (sop->write_super && sb->s_dirt)
|