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

From: Mateusz Guzik
Date: Thu May 15 2014 - 06:48:07 EST


On Thu, May 15, 2014 at 12:40:19PM +0200, LukÃÅ Czerner wrote:
> On Wed, 14 May 2014, Eric Sandeen wrote:
>
> > Date: Wed, 14 May 2014 17:40:22 -0500
> > From: Eric Sandeen <esandeen@xxxxxxxxxx>
> > Reply-To: sandeen@xxxxxxxxxx
> > To: Dave Chinner <david@xxxxxxxxxxxxx>, Jan Kara <jack@xxxxxxx>
> > Cc: Mateusz Guzik <mguzik@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
> > linux-fsdevel@xxxxxxxxxxxxxxx, Josef Bacik <jbacik@xxxxxx>,
> > Al Viro <viro@xxxxxxxxxxxxxxxxxx>, Joe Perches <joe@xxxxxxxxxxx>
> > Subject: Re: [PATCH V2 2/2] fs: print a message when freezing/unfreezing
> > filesystems
> >
> > On 5/14/14, 5:37 PM, Dave Chinner wrote:
> > > On Thu, May 15, 2014 at 08:00:52AM +1000, Dave Chinner wrote:
> > >> On Wed, May 14, 2014 at 01:39:45PM +0200, Jan Kara wrote:
> > >>> On Wed 14-05-14 13:26:21, Mateusz Guzik wrote:
> > >>>> On Wed, May 14, 2014 at 01:14:49PM +0200, Jan Kara wrote:
> > >>>>> 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 would like to note that the kernel already prints messages when e.g.
> > >>>> filesystems get mounted.
> > >>> Yeah, that's a fair point.
> > >>
> > >> But filesystems choose to output that info, not the VFS. When you do
> > >> a remount,ro there is no output in syslog, because filesystems don't
> > >> need to dump any output - the state change is reflected in
> > >> /proc/self/mounts. IMO frozen should state should be communicated
> > >> the same way so that it is silent when it just works, and the state
> > >> can easily be determined when something goes wrong.
> > >
> > > Say, like this:
> > >
> > > $ grep /mnt/test /proc/mounts
> > > /dev/vda /mnt/test xfs rw,relatime,attr2,inode64,noquota 0 0
> > > $ sudo xfs_freeze -f /mnt/test
> > > $ grep /mnt/test /proc/mounts
> > > /dev/vda /mnt/test xfs rw,frozen,relatime,attr2,inode64,noquota 0 0
> > > $ sudo xfs_freeze -u /mnt/test
> > > $ grep /mnt/test /proc/mounts
> > > /dev/vda /mnt/test xfs rw,relatime,attr2,inode64,noquota 0 0
> > > $
> >
> > I'm not totally convinced that including a non-mount option in what
> > has always (?) been a list of mount options is a great idea.
>
> I do not like it either. Mixing this together with other mount
> options does not seem like a great idea, however we really need a
> way to report this and I guess we can not just change the
> /proc/self/mounts, or /proc/self/mountinfo format.
>
> So what about crating a new file /proc/self/frozen with the list of
> frozen file systems in the same format what mounts, or mountinfo has
> ?
>

As the time goes on there will be more data to present about given
mountpoint. So either mountinfo should be extendable to support this
(can't see why not) or new generic file with that property should be
provided. I vote for the former.

IOW, a new column in mountinfo. For frozen filesystems it would contain
'frozen_by=[%s]:[%d]' (escaped comm, pid).

--
Mateusz Guzik
--
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/