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

From: Lukáš Czerner
Date: Wed May 14 2014 - 07:58:47 EST


On Wed, 14 May 2014, Jan Kara wrote:

> Date: Wed, 14 May 2014 13:14:49 +0200
> From: Jan Kara <jack@xxxxxxx>
> To: Mateusz Guzik <mguzik@xxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx,
> Josef Bacik <jbacik@xxxxxx>, Jan Kara <jack@xxxxxxx>,
> Al Viro <viro@xxxxxxxxxxxxxxxxxx>, Eric Sandeen <esandeen@xxxxxxxxxx>,
> Joe Perches <joe@xxxxxxxxxxx>
> Subject: Re: [PATCH V2 2/2] fs: print a message when freezing/unfreezing
> filesystems
>
> On Wed 14-05-14 00:04:43, Mateusz Guzik wrote:
> > This helps hang troubleshooting efforts when only dmesg is available.
> >
> > While here remove code duplication with MS_RDONLY case and fix a
> > whitespace nit.
> I'm somewhat undecided here I have to say. On one hand I don't like
> printing to kernel log when everything is fine and kernel is operating
> normally. On the other hand I've seen quite a few cases where people have
> shot themselves in the foot with filesystem freezing so having some trace
> of this in the log doesn't seem like a completely bad thing either. What do
> other people think?

I think that this message is definitely useful to have. As Mateusz
already mentioned I think that this is of the same importance as the
"file system mounted/remounted" message.

-Lukas

>
> Honza
> > 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>
> > Cc: Joe Perches <joe@xxxxxxxxxxx>
> > ---
> > since v1:
> > fix copy-pasto which found its way into the patch
> > restore curly brackets in MS_RDONLY case
> > fs/super.c | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/fs/super.c b/fs/super.c
> > index 017e10a..4dd7356 100644
> > --- a/fs/super.c
> > +++ b/fs/super.c
> > @@ -1291,9 +1291,7 @@ int freeze_super(struct super_block *sb)
> >
> > 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 */
> > @@ -1335,8 +1333,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 frozen\n", sb->s_id);
> > return 0;
> > }
> > EXPORT_SYMBOL(freeze_super);
> > @@ -1374,7 +1374,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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/