[PATCH 2/2] fs: print a message when freezing/unfreezing filesystems

Mateusz Guzik
2014-05-13T18:31:33Z

This helps hang troubleshooting efforts when only dmesg is available.

Signed-off-by: Mateusz Guzik <mguzik@redhat.com>
Cc: linux-fsdevel@vger.kernel.org
Cc: Josef Bacik <jbacik@fb.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Eric Sandeen <esandeen@redhat.com>

---
fs/super.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/fs/super.c b/fs/super.c
index 017e10a..581c008 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -1289,12 +1289,9 @@ int freeze_super(struct super_block *sb)
return 0; /* sic - it's "nothing to do" */
}

- if (sb->s_flags & MS_RDONLY) {
+ if (sb->s_flags & MS_RDONLY)
/* Nothing to do really... */
- sb->s_writers.frozen = SB_FREEZE_COMPLETE;
- up_write(&sb->s_umount);
- return 0;
- }
+ goto out;

/* From now on, no new normal writers can start */
sb->s_writers.frozen = SB_FREEZE_WRITE;
@@ -1335,8 +1332,10 @@ int freeze_super(struct super_block *sb)
* This is just for debugging purposes so that fs can warn if it
* sees write activity when frozen is set to SB_FREEZE_COMPLETE.
*/
+out:
sb->s_writers.frozen = SB_FREEZE_COMPLETE;
up_write(&sb->s_umount);
+ pr_info("VFS:Filesystem %s thawed\n", sb->s_id);
return 0;
}
EXPORT_SYMBOL(freeze_super);
@@ -1374,7 +1373,7 @@ out:
smp_wmb();
wake_up(&sb->s_writers.wait_unfrozen);
deactivate_locked_super(sb);
-
+ pr_info("VFS:Filesystem %s thawed\n", sb->s_id);
return 0;
}
EXPORT_SYMBOL(thaw_super);
--
1.8.3.1