linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: Chris Mason <mason@suse.com>
Cc: Chris Wedgwood <cw@f00f.org>,
	Rik van Riel <riel@conectiva.com.br>,
	Christoph Hellwig <hch@caldera.de>,
	linux-kernel@vger.kernel.org
Subject: Re: ReiserFS / 2.4.6 / Data Corruption
Date: Tue, 31 Jul 2001 19:22:01 +0400	[thread overview]
Message-ID: <3B66CD19.EE055198@namesys.com> (raw)
In-Reply-To: <687650000.996586885@tiny>

Chris Mason wrote:
> 
> On Tuesday, July 31, 2001 02:59:46 PM +0400 Hans Reiser <reiser@namesys.com>
> wrote:
> 
> [ CONFIG_REISERFS_CHECK ]
> 
> > Last I ran benchmarks the performance cost was 30-40%, but this was some
> > time ago.  I think that the coders have been quietly culling some checks
> > out of the FS, and so it does not cost as much anymore.  I would prefer
> > that the "excesive" checks had stayed in.
> >
> > Sigh, I see I cannot persuade in this argument.  It seems Linus is right,
> > and debugging checks don't belong in debugged code even if they would make
> > it easier for persons hacking on the code to debug their latest hacks.
> >
> 
> In the end, the distributions are responsible for their own quality control,
> and they are free to turn on whatever debugging features they like.  You can
> yell, scream, call them names, and in general piss them off however you like
> and they will still be absolutely correct in turning on whatever debugging
> check they feel is important.

If they tell the user that the debugging is on and the FS is slowed.  I think
this is my solution, we will just make sure that the user knows with every mount
and every boot that debug is on and things are going to be slow.
> 
> The right way to deal with this is ask why they think it's important to turn
> on the checks.  The goal behind code under CONFIG_REISERFS_CHECK is to add
> extra runtime consistency checks, but without CONFIG_REISERFS_CHECK on, the
> code should still make sure it isn't hosing the disk.  In other words, the
> goal is like this:
> 
> if (some_error) {
> #ifdef CONFIG_REISERFS_CHECK
>     panic("some_error") ;
> #else
>     gracefully_recover
> #endif
> 
> There are places CONFIG_REISERFS_CHECK does extra scanning of the metadata
> and such, but all of these are supposed to be things that can be recovered
> from with the debugging off.  Anything else is a bug.
> 
> -chris


I am sorry Chris, but I cannot see the sense in what you say. 
CONFIG_REISERFS_CHECK is not a flag that indicates whether the user desires
graceful recovery, it is a flag that indicates whether every imaginable check
should be in the code, performance be damned, because there is a bug in the code
somewhere, and we are desperately trying to get a clue about what its source is 
earlier in its life prior to the machine hanging.  (Bugs where there is a time
lag between data structure corrupting and FS crashing are harder than others to
debug, and checking the data structures excessively is one way to try to fing
those bugs.)  Making graceful recovery a selectable option is a separate topic. 

There are lots of arguments that naturally arise in a development team about
what checks are debug only and what ones belong outside.  I lose many of these
arguments to the betterment of ReiserFS.  If persons not on the development
team, and not involved in those discussions, and not end users, turn debug on
and let users think it is normal slow motion reiserfs that they run, it screws
our whole methodology.

It may help readers if they understand that Chris does not like the big heavy
checks that one would not want to run all the time being inside
CONFIG_REISERFS_CHECK.

Having levels of CONFIG_REISERFS_CHECK, in which one level is something to the
effect of CHECK_EVERYTHING_YOU_CAN_WITHOUT_MY_NOTICING_THINGS_GOING_SLOWER,
would be reasonable.  We have what we have though.  

Hans

  parent reply	other threads:[~2001-07-31 15:22 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-18  4:14 ReiserFS / 2.4.6 / Data Corruption Sam Thompson
2001-07-18  5:18 ` Steve Kieu
2001-07-18 16:22   ` Erik Mouw
2001-07-19  2:02     ` Steve Kieu
2001-07-19 13:28       ` Hans Reiser
2001-07-19 15:50       ` Erik Mouw
2001-07-27 12:52     ` bvermeul
2001-07-27 12:55       ` Hans Reiser
2001-07-27 13:24         ` bvermeul
2001-07-27 14:18           ` Joshua Schmidlkofer
2001-07-27 14:55             ` Hans Reiser
2001-07-27 15:02               ` Chris Wedgwood
2001-07-27 16:06                 ` Henning P. Schmiedehausen
2001-07-27 22:02                 ` Luigi Genoni
2001-07-28 13:45               ` Matthew Gardiner
2001-07-28 16:15                 ` Hans Reiser
2001-07-28 16:45                 ` Marcus Meissner
2001-07-28 16:45                 ` Christoph Hellwig
2001-07-29 10:19                   ` Matthew Gardiner
2001-07-29 11:04                     ` Chris Wedgwood
2001-07-30 10:08                   ` Hans Reiser
2001-07-30 19:06                     ` Christoph Hellwig
2001-07-30 20:30                       ` Hans Reiser
2001-07-30 20:49                         ` Christoph Hellwig
2001-07-30 21:05                           ` Hans Reiser
2001-07-30 21:29                             ` Christoph Hellwig
2001-07-30 21:44                               ` Hans Reiser
2001-07-30 21:48                               ` Hans Reiser
2001-07-30 21:57                                 ` Chris Wedgwood
2001-07-30 21:58                                   ` Christoph Hellwig
2001-07-31  7:45                                 ` Henning P. Schmiedehausen
2001-07-31  9:55                                   ` Hans Reiser
2001-07-31 10:24                                     ` Arjan van de Ven
2001-07-31 10:24                                     ` Anders Eriksson
2001-07-31 10:32                                       ` Chris Wedgwood
2001-07-31 17:01                                       ` [OT] " J Sloan
2001-07-30 21:59                             ` Rik van Riel
2001-07-30 22:34                               ` Hans Reiser
2001-07-31 11:34                                 ` David Weinehall
2001-07-31 12:22                                   ` ReiserFS / 2.4.6 / Data Corruption (patch to cause redhat to unmount reiserfs on halt included) Hans Reiser
2001-07-31 12:37                                     ` Christoph Hellwig
2001-07-31 13:12                                       ` Hans Reiser
2001-07-30 22:41                               ` ReiserFS / 2.4.6 / Data Corruption Kip Macy
2001-07-30 22:50                                 ` Christoph Hellwig
2001-07-30 21:13                           ` Hans Reiser
2001-07-30 21:21                           ` Hans Reiser
2001-07-30 21:49                             ` Christoph Hellwig
2001-07-31  2:34                               ` Andrew Morton
2001-07-30 22:04                             ` Rik van Riel
2001-07-30 22:36                               ` Hans Reiser
2001-07-30 22:53                                 ` Rik van Riel
2001-07-30 23:12                                   ` Hans Reiser
2001-07-31 10:32                                 ` Chris Wedgwood
2001-07-31 10:59                                   ` Hans Reiser
2001-07-31 11:42                                     ` Chris Wedgwood
2001-07-31 13:41                                     ` Chris Mason
2001-07-31 15:15                                       ` Chris Wedgwood
2001-07-31 15:58                                         ` Chris Mason
2001-07-31 15:22                                       ` Hans Reiser [this message]
2001-07-31 15:49                                         ` Chris Mason
2001-07-31 22:08                               ` Jussi Laako
2001-07-31 22:32                                 ` Dan Hollis
2001-07-31 23:45                                   ` Chris Wedgwood
2001-08-05 22:19                                   ` CRC loop method (was Re: ReiserFS / 2.4.6 / Data Corruption) Pavel Machek
2001-08-01 16:23                                 ` ReiserFS / 2.4.6 / Data Corruption Andreas Dilger
2001-08-02 13:44                         ` Pavel Machek
2001-07-27 15:06             ` Daniel Phillips
2001-07-27 15:33               ` Hans Reiser
2001-07-27 16:30                 ` Daniel Phillips
2001-07-27 16:49                   ` Early Flush Hans Reiser
2001-07-27 15:07             ` ReiserFS / 2.4.6 / Data Corruption Chris Wedgwood
2001-07-27 16:39             ` Andrew Morton
2001-07-27 16:57               ` Hans Reiser
2001-07-27 17:28                 ` Andrew Morton
2001-07-27 17:45                   ` Hans Reiser
2001-07-27 17:10               ` Steve Lord
2001-07-27 14:48           ` Hans Reiser
2001-07-27 15:04             ` bvermeul
2001-07-27 15:38               ` Hans Reiser
2001-07-27 17:29                 ` Eric W. Biederman
2001-07-27 18:47                   ` bvermeul
2001-07-27 19:22                     ` Hans Reiser
2001-07-28  6:19                       ` bvermeul
2001-07-28  7:39                         ` Hans Reiser
2001-07-27 19:30                     ` Jussi Laako
2001-07-28  6:21                       ` bvermeul
2001-07-27 21:49                     ` Daniel Phillips
2001-07-27 20:49                 ` Lehmann 
2001-07-28 14:13           ` Matthew Gardiner
2001-07-28 14:40             ` bvermeul
2001-07-18  9:42 ` Hans Reiser
     [not found]   ` <3B5579E7.5090107@namesys.com>
2001-07-18 16:26     ` Sam Thompson
2001-07-18 16:34       ` Hans Reiser
2001-07-18 13:09 ` Andre Pang
     [not found] <no.id>
2001-07-27 13:27 ` Alan Cox
2001-07-27 13:38   ` bvermeul
2001-07-27 13:39     ` Alan Cox
2001-07-27 13:47       ` bvermeul
2001-07-27 13:49         ` Alan Cox
2001-07-28 14:16       ` Matthew Gardiner
2001-08-08 18:42       ` Stephen C. Tweedie
2001-07-27 14:16   ` Philip R. Auld
2001-07-27 14:38     ` Jordan
2001-07-27 14:51     ` Hans Reiser
2001-07-27 15:12       ` Philip R. Auld
2001-07-27 14:23   ` Hans Reiser
2001-07-27 14:21 ` Alan Cox
2001-07-28 14:18   ` Matthew Gardiner
2001-07-28 16:25     ` Alan Cox
2001-07-29 10:15       ` Matthew Gardiner
2001-07-29 11:10         ` Chris Wedgwood
2001-07-29 14:28           ` Luigi Genoni
2001-07-29 11:16     ` Christoph Hellwig
2001-07-27 15:06 ` Alan Cox
2001-07-27 15:26   ` Joshua Schmidlkofer
2001-07-27 15:46     ` Hans Reiser
2001-07-27 17:46       ` Christoph Rohland
2001-07-27 18:02         ` Hans Reiser
2001-07-27 18:10       ` Dustin Byford
2001-07-27 19:20         ` Hans Reiser
2001-07-28 16:10       ` Henning P. Schmiedehausen
2001-07-27 15:31   ` Hans Reiser
2001-07-27 16:25     ` Kip Macy
2001-07-27 17:29       ` Ville Herva
2001-07-27 17:40         ` Alan Cox
2001-07-27 17:43           ` Ville Herva
2001-07-27 20:46   ` Lehmann 
2001-07-27 21:13     ` Hans Reiser
2001-07-27 15:51 ` Alan Cox
2001-07-27 16:41   ` Hans Reiser
2001-07-27 16:55 ` Alan Cox
2001-07-27 21:24 ` Alan Cox
2001-07-27 21:47   ` Hans Reiser
2001-07-27 22:10 ` Alan Cox
2001-07-28  7:36   ` Hans Reiser
2001-07-28 14:08     ` Chris Mason
2001-07-27 15:13 Cress, Andrew R
2001-07-30 15:24 Chris Mason
2001-07-30 15:47 ` Andrew Morton
2001-07-30 16:04   ` Chris Mason

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=3B66CD19.EE055198@namesys.com \
    --to=reiser@namesys.com \
    --cc=cw@f00f.org \
    --cc=hch@caldera.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mason@suse.com \
    --cc=riel@conectiva.com.br \
    /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;
as well as URLs for NNTP newsgroup(s).