This helps hang troubleshooting efforts when only dmesg is available. Signed-off-by: Mateusz Guzik <mguzik@xxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx Cc: Josef Bacik <jbacik@xxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Eric Sandeen <esandeen@xxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html