public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@bonn-fries.net>
To: "Albert D. Cahalan" <acahalan@cs.uml.edu>,
	phillips@bonn-fries.net (Daniel Phillips)
Cc: acahalan@cs.uml.edu (Albert D. Cahalan),
	tuxx@aon.at (Alexander Griesser),
	phillips@bonn-fries.net (Daniel Phillips),
	cw@f00f.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 64 bit scsi read/write
Date: Tue, 24 Jul 2001 13:45:53 +0200	[thread overview]
Message-ID: <01072413455306.00301@starship> (raw)
In-Reply-To: <200107240429.f6O4Tdt274181@saturn.cs.uml.edu>
In-Reply-To: <200107240429.f6O4Tdt274181@saturn.cs.uml.edu>

On Tuesday 24 July 2001 06:29, Albert D. Cahalan wrote:
> Daniel Phillips writes:
> > On Sunday 22 July 2001 05:52, Albert D. Cahalan wrote:
> >> [...]
> >>> On Sun, Jul 15, 2001 at 09:08:41PM -0400, you wrote:
> >>>> In a tree-structured filesystem, checksums on everything would
> >>>> only cost you space similar to the number of pointers you have.
> >>>> Whenever a non-leaf node points to a child, it can hold a
> >>>> checksum for that child as well.  This gives a very reliable way
> >>>> to spot filesystem errors, including corrupt data blocks.
> ...
> >> To have a child is to have a checksum+pointer pair.
> ...
> > I agree that your suggestion will work and that doubling the size
> > of the metadata isn't an enormous cost, especially if you'd already
> > compressed it using extents.  On the other hand, sometimes I just
> > feel like trusting the hardware a little.  Both atomic-commit and
> > journalling strategies take care of normal failure modes, and the
> > disk hardware is supposed to flag other failures by ecc'ing each
> > sector on disk.
>
> Maybe you should discuss power-loss behavior with Theodore T'so.
> For whatever reason, it seems that many drives and/or controllers
> like to scribble on random unrelated sectors as power is lost.

Last time we discussed this on lkml - I don't think Ted was involved
that time - the concensus was that only the last sector written is
in danger of being scribbled on.  (Sometimes because of reordering
we don't know which the last sector is, that's another story.)  If
you have experience with any disk that scribbled on a sector other
than the last written, I'd really appreciate knowing the model and
manufacturer - so that I can stay far away from such a POS.

As for silently feeding you corrupted sectors - that's clearly a
firmware bug, or outright omission.  Again, the term POS applies.

> For the atomic-commit case, an additional defense against this
> sort of problem might be to keep a few extra trees on disk,
> using a generation counter to pick the latest one. This does
> bring us back to scanning the whole filesystem at boot though,
> in order to disregard snapshots that have been damaged.

Unfortunately, most of the blocks are shared between trees so this
doesn't provide any extra protection.  RAID, or some RAID-like
thing (a little birdie told me that something may be in the works)
is probably the way to go, for dealing with substandard hardware
that you can't avoid using or weren't warned about.

--
Daniel

  reply	other threads:[~2001-07-24 13:57 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-01  4:53 [RFC][PATCH] first cut 64 bit block support Ben LaHaise
2001-07-03  4:53 ` Ragnar Kjørstad
2001-07-04  2:19   ` [PATCH] 64 bit scsi read/write Ben LaHaise
2001-07-04  7:11     ` Alan Cox
2001-07-05  6:34     ` Ragnar Kjørstad
2001-07-05  7:35       ` Ben LaHaise
2001-07-13 18:20         ` Albert D. Cahalan
2001-07-13 20:41           ` Andreas Dilger
2001-07-13 21:07             ` Chris Wedgwood
2001-07-13 22:04               ` Andreas Dilger
2001-07-14  0:49                 ` Jonathan Lundell
2001-07-14 12:27                 ` Paul Jakma
2001-07-14 14:48                   ` Chris Wedgwood
2001-07-14 15:42                     ` Paul Jakma
2001-07-14 17:18                       ` Chris Wedgwood
2001-07-20 17:03                       ` Stephen C. Tweedie
2001-07-16 18:53                   ` Andreas Dilger
2001-07-16 19:13                     ` Ragnar Kjørstad
2001-07-13 21:14             ` Alan Cox
2001-07-14  3:23               ` Andrew Morton
2001-07-14  8:45                 ` Alan Cox
2001-07-14 14:50                   ` Chris Wedgwood
2001-07-14 15:41                     ` Jonathan Lundell
2001-07-14 17:00                       ` Chris Wedgwood
2001-07-14 20:11                     ` Daniel Phillips
2001-07-15  1:21                       ` Andrew Morton
2001-07-15  1:53                         ` Daniel Phillips
2001-07-15  3:36                       ` Chris Wedgwood
2001-07-15  6:05                         ` John Alvord
2001-07-15  6:07                           ` Chris Wedgwood
2001-07-15 13:16                             ` Ken Hirsch
2001-07-15 14:50                               ` Chris Wedgwood
2001-07-15 22:14                               ` Daniel Phillips
2001-07-17  0:31                             ` Juan Quintela
2001-07-15 13:44                         ` Daniel Phillips
2001-07-15 14:39                           ` Chris Wedgwood
2001-07-15 15:06                             ` Jonathan Lundell
2001-07-15 15:22                               ` Chris Wedgwood
2001-07-15 17:44                                 ` Jonathan Lundell
2001-07-15 17:47                               ` Justin T. Gibbs
2001-07-15 23:14                                 ` Rod Van Meter
2001-07-16  0:37                                   ` Jonathan Lundell
2001-07-16 15:11                                     ` Rod Van Meter
2001-07-16  8:56                                 ` Chris Wedgwood
2001-07-16 13:19                                   ` Daniel Phillips
2001-07-15 15:32                             ` Alan Cox
2001-07-15 15:33                               ` Chris Wedgwood
2001-07-15 16:24                               ` Chris Wedgwood
2001-07-16  1:08                           ` Albert D. Cahalan
2001-07-16  8:49                             ` Chris Wedgwood
2001-07-21 19:18                             ` Alexander Griesser
2001-07-22  3:52                               ` Albert D. Cahalan
2001-07-23 14:41                                 ` Daniel Phillips
2001-07-24  4:29                                   ` Albert D. Cahalan
2001-07-24 11:45                                     ` Daniel Phillips [this message]
2001-07-14 17:33                   ` Jonathan Lundell
2001-07-15  4:02                     ` Chris Wedgwood
2001-07-15  5:46                       ` Jonathan Lundell
2001-07-15 17:10                   ` Chris Wedgwood
2001-07-15 17:39                     ` Jonathan Lundell
2001-07-26  2:18     ` Ragnar Kjørstad
2001-07-26 16:24       ` Andreas Dilger
2001-08-10 19:42       ` Ben LaHaise
2001-08-10 19:51       ` Ragnar Kjørstad
2001-08-10 20:02         ` Ben LaHaise
2001-08-11  0:18           ` Steve Lord
2001-08-11 21:44       ` Matti Aarnio
2001-07-04 10:16 ` [RFC][PATCH] first cut 64 bit block support Chris Wedgwood
2001-07-04 16:59   ` Ben LaHaise
  -- strict thread matches above, loose matches on Subject: below --
2001-07-14 15:08 [PATCH] 64 bit scsi read/write Ed Tomlinson
2001-07-19  7:35 [PATCH] 64 bit SCSI read/write Andre Hedrick

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=01072413455306.00301@starship \
    --to=phillips@bonn-fries.net \
    --cc=acahalan@cs.uml.edu \
    --cc=cw@f00f.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tuxx@aon.at \
    /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