All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Jan Kara <jack@suse.cz>
Cc: "Mateusz Guzik" <mguzik@redhat.com>,
	"Lukáš Czerner" <lczerner@redhat.com>,
	sandeen@redhat.com, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, "Josef Bacik" <jbacik@fb.com>,
	"Al Viro" <viro@ZenIV.linux.org.uk>,
	"Joe Perches" <joe@perches.com>
Subject: Re: [PATCH V2 2/2] fs: print a message when freezing/unfreezing filesystems
Date: Tue, 20 May 2014 09:37:34 +1000	[thread overview]
Message-ID: <20140519233733.GD18954@dastard> (raw)
In-Reply-To: <20140519094313.GA3427@quack.suse.cz>

On Mon, May 19, 2014 at 11:43:13AM +0200, Jan Kara wrote:
> On Fri 16-05-14 10:11:56, Dave Chinner wrote:
> > On Fri, May 16, 2014 at 01:19:09AM +0200, Mateusz Guzik wrote:
> > > On Fri, May 16, 2014 at 08:51:41AM +1000, Dave Chinner wrote:
> > > > On Fri, May 16, 2014 at 12:34:40AM +0200, Mateusz Guzik wrote:
> > > > > On Fri, May 16, 2014 at 08:21:35AM +1000, Dave Chinner wrote:
> > > > > > > IOW, a new column in mountinfo. For frozen filesystems it would contain
> > > > > > > 'frozen_by=[%s]:[%d]' (escaped comm, pid).
> > > > > > 
> > > > > > I really don't see that the process that froze the filesystem is
> > > > > > particularly useful - it many cases that process is long gone (e.g.
> > > > > > fsfreeze is being used to allow a HW array to take a snapshot). Just
> > > > > > the fact it is in the process of freezing (if stuck, stack trace in
> > > > > > sysrq-w should be present) or frozen (freezing process may be long
> > > > > > gone, and is mostly irrelevant because you're now tracking down why
> > > > > > a thaw hasn't happened)...
> > > > > 
> > > > > There are deamons which perform freezing and unfreezing on their own.
> > > > > Thus storing the name along with pid helps to determine whether someone
> > > > > went behind such daemon's back, or maybe it's the daemon which "forgot" to
> > > > > unfreeze after all.
> > > > 
> > > > Such a daemon should be logging the fact that it's freezing and
> > > > thawing the filesystem. The kernel is not the place to track what
> > > > buggy userspace applications are doing wrong.
> > > > 
> > > 
> > > Except there is no log entry if /var got frozen (and this is not an
> > > imaginary example).
> > 
> > Freezing the filesystem that the freezing daemon logs to is, well, a
> > major application architecture fail. Sorry, catering for the lowest
> > common denominator (i.e. stupidity) is not an valid argument for
> > adding stuff to the kernel....
>   Sure it's not a good architecture but it happens either because of a bug
> or a wrong architecture. So you need to debug it and traces from sysrq-w
> don't tell you who froze the filesystem. Currently you have to use
> tracepoints or similar stuff to find that out (e.g. in one case I was
> debugging it was rpm running a post-install script that froze the fs,
> believe me that was really unexpected :)). But tracepoints aren't useful
> after the fact so sometimes it would be useful to be able to find out
> after the fact who froze the fs (PID and command name to help with
> situations when the process isn't running anymore). Since this is mostly
> debug stuff I'd be OK with dumping this information on sysrq request or as
> Ted suggested from some fs-freeze hang check timer... Hmm?

Sure, along with all the memory allocation, copying and freeing
stuff that isn't guaranteed to be around if a hang occurs. And it
has to be per-sb, because you can indepenently freeze multiple
filesystems at the same time, and so on. I just don't see the
complexity as being worthwhile given how rare freeze problems are...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2014-05-19 23:37 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-13 22:04 [PATCH V2 1/2] fs: include device name in error messages about freezing Mateusz Guzik
2014-05-13 22:04 ` [PATCH V2 2/2] fs: print a message when freezing/unfreezing filesystems Mateusz Guzik
2014-05-14 11:14   ` Jan Kara
2014-05-14 11:26     ` Mateusz Guzik
2014-05-14 11:39       ` Jan Kara
2014-05-14 22:00         ` Dave Chinner
2014-05-14 22:37           ` Dave Chinner
2014-05-14 22:40             ` Eric Sandeen
2014-05-15 10:40               ` Lukáš Czerner
2014-05-15 10:47                 ` Mateusz Guzik
2014-05-15 22:21                   ` Dave Chinner
2014-05-15 22:34                     ` Mateusz Guzik
2014-05-15 22:34                       ` Mateusz Guzik
2014-05-15 22:51                       ` Dave Chinner
2014-05-15 23:19                         ` Mateusz Guzik
2014-05-16  0:11                           ` Dave Chinner
2014-05-16  0:39                             ` Mateusz Guzik
2014-05-19  9:43                             ` Jan Kara
2014-05-19 23:37                               ` Dave Chinner [this message]
2014-05-15 10:13             ` Jan Kara
2014-05-15 22:16               ` Dave Chinner
2014-05-14 11:58     ` Lukáš Czerner
2014-05-14 11:10 ` [PATCH V2 1/2] fs: include device name in error messages about freezing Jan Kara
2014-05-14 22:07   ` Dave Chinner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140519233733.GD18954@dastard \
    --to=david@fromorbit.com \
    --cc=jack@suse.cz \
    --cc=jbacik@fb.com \
    --cc=joe@perches.com \
    --cc=lczerner@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mguzik@redhat.com \
    --cc=sandeen@redhat.com \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.