public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: Dave Chinner <david@fromorbit.com>
Cc: "Mateusz Guzik" <mguzik@redhat.com>,
	"Lukáš Czerner" <lczerner@redhat.com>,
	sandeen@redhat.com, "Jan Kara" <jack@suse.cz>,
	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: Mon, 19 May 2014 11:43:13 +0200	[thread overview]
Message-ID: <20140519094313.GA3427@quack.suse.cz> (raw)
In-Reply-To: <20140516001156.GI5421@dastard>

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?

								Honza
-- 
Jan Kara <jack@suse.cz>
SUSE Labs, CR

  parent reply	other threads:[~2014-05-19  9:43 UTC|newest]

Thread overview: 23+ 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: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 [this message]
2014-05-19 23:37                               ` Dave Chinner
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=20140519094313.GA3427@quack.suse.cz \
    --to=jack@suse.cz \
    --cc=david@fromorbit.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox