linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: Doug Ledford <dledford@redhat.com>
Cc: Bill Davidsen <davidsen@tmr.com>, John Stoffel <john@stoffel.org>,
	Justin Piszcz <jpiszcz@lucidpixels.com>,
	linux-raid@vger.kernel.org
Subject: Re: Time to  deprecate old RAID formats?
Date: Thu, 25 Oct 2007 09:55:21 +1000	[thread overview]
Message-ID: <18207.56169.769976.512617@notabene.brown> (raw)
In-Reply-To: message from Doug Ledford on Tuesday October 23

On Tuesday October 23, dledford@redhat.com wrote:
> On Tue, 2007-10-23 at 19:03 -0400, Bill Davidsen wrote:
> > John Stoffel wrote:
> > > Why do we have three different positions for storing the superblock?  
> > >   
> > Why do you suggest changing anything until you get the answer to this 
> > question? If you don't understand why there are three locations, perhaps 
> > that would be a good initial investigation.
> > 
> > Clearly the short answer is that they reflect three stages of Neil's 
> > thinking on the topic, and I would bet that he had a good reason for 
> > moving the superblock when he did it.
> 
> I believe, and Neil can correct me if I'm wrong, that 1.0 (at the end of
> the device) is to satisfy people that want to get at their raid1 data
> without bringing up the device or using a loop mount with an offset.
> Version 1.1, at the beginning of the device, is to prevent accidental
> access to a device when the raid array doesn't come up.  And version 1.2
> (4k from the beginning of the device) would be suitable for those times
> when you want to embed a boot sector at the very beginning of the device
> (which really only needs 512 bytes, but a 4k offset is as easy to deal
> with as anything else).  From the standpoint of wanting to make sure an
> array is suitable for embedding a boot sector, the 1.2 superblock may be
> the best default.
> 

Exactly correct.

Another perspective is that I chickened out of making a decision and
chose to support all the credible possibilities that I could think of.
And showed that I didn't have enough imagination.  The other
possibility that I should have included (as has been suggested in this
conversation, and previously on this list) is to store the superblock
both at the beginning and the end for redundancy.  However I cannot
decide whether to combine the 1.0 and 1.1 locations, or the 1.0 and
1.2.  And I don't think I want to support both (maybe I've learned my
lesson).

As for where the metadata "should" be placed, it is interesting to
observe that the SNIA's "DDFv1.2" puts it at the end of the device.
And as DDF is an industry standard sponsored by multiple companies it
must be ......
Sorry.  I had intended to say "correct", but when it came to it, my
fingers refused to type that word in that context.

DDF is in a somewhat different situation though.  It assumes that the
components are whole devices, and that the controller has exclusive
access - there is no way another controller could interpret the
devices differently before the DDF controller has a chance.

DDF is also interesting in that it uses 512 byte alignment for
metadata.  The 'anchor' block is in the last sector of the device.
This contrasts with current md metadata which is all 4K aligned.
Given that the drive manufacturers seem to be telling us that "4096 is
the new 512", I think 4K alignment was a good idea.
It could be that DDF actually specifies the anchor to reside in the
last "block" rather than the last "sector", and it could be that the
spec allows for block size to be device specific - I'd have to hunt
through the spec again to be sure.

For the record, I have no intention of deprecating any of the metadata
formats, not even 0.90.
It is conceivable that I could change the default, though that would
require a decision as to what the new default would be.  I think it
would have to be 1.0 or it would cause too much confusion.

I think it would be entirely appropriate for a distro (especially an
'enterprise' distro) to choose a format and location that it was going
to standardise on and support, and make that the default on that
distro (by using a CREATE line in mdadm.conf).  Debian has already
done this by making 1.0 the default.

I certainly accept that the documentation is probably less that
perfect (by a large margin).  I am more than happy to accept patches
or concrete suggestions on how to improve that.  I always think it is
best if a non-developer writes documentation (and a developer reviews
it) as then it is more likely to address the issues that a
non-developer will want to read about, and in a way that will make
sense to a non-developer. (i.e. I'm to close to the subject to write
good doco).

NeilBrown


  reply	other threads:[~2007-10-24 23:55 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-19 14:34 Time to deprecate old RAID formats? John Stoffel
2007-10-19 15:09 ` Justin Piszcz
2007-10-19 15:46   ` John Stoffel
2007-10-19 16:15     ` Doug Ledford
2007-10-19 16:35       ` Justin Piszcz
2007-10-19 16:38       ` John Stoffel
2007-10-19 16:40         ` Justin Piszcz
2007-10-19 16:44           ` John Stoffel
2007-10-19 16:45             ` Justin Piszcz
2007-10-19 17:04               ` Doug Ledford
2007-10-19 17:05                 ` Justin Piszcz
2007-10-19 17:23                   ` Doug Ledford
2007-10-19 17:47                     ` Justin Piszcz
2007-10-20 18:38                       ` Michael Tokarev
2007-10-20 20:02                         ` Doug Ledford
2007-10-19 22:43                     ` chunk size (was Re: Time to deprecate old RAID formats?) Michal Soltys
2007-10-20 13:29                       ` Doug Ledford
2007-10-23 19:21                         ` Michal Soltys
2007-10-24  0:14                           ` Doug Ledford
2007-10-19 17:11         ` Time to deprecate old RAID formats? Doug Ledford
2007-10-19 18:39           ` John Stoffel
2007-10-19 21:23             ` Iustin Pop
2007-10-19 21:42               ` Doug Ledford
2007-10-20  7:53                 ` Iustin Pop
2007-10-20 13:11                   ` Doug Ledford
2007-10-26  9:54                     ` Luca Berra
2007-10-26 16:22                       ` Gabor Gombas
2007-10-26 17:06                         ` Gabor Gombas
2007-10-27 10:34                           ` Luca Berra
2007-10-26 18:52                       ` Doug Ledford
2007-10-26 22:30                         ` Gabor Gombas
2007-10-28  0:26                           ` Doug Ledford
2007-10-28 14:13                             ` Luca Berra
2007-10-28 17:47                               ` Doug Ledford
2007-10-29  8:41                                 ` Luca Berra
2007-10-29 15:30                                   ` Doug Ledford
2007-10-29 21:44                                     ` Luca Berra
2007-10-29 23:05                                       ` Doug Ledford
2007-10-30  3:10                                         ` Neil Brown
2007-10-30  6:55                                         ` Luca Berra
2007-10-30 16:48                                           ` Doug Ledford
2007-10-27  8:00                         ` Luca Berra
2007-10-27 20:09                           ` Doug Ledford
2007-10-28 13:46                             ` Luca Berra
2007-10-23 23:09                 ` Bill Davidsen
2007-10-23 23:03             ` Bill Davidsen
2007-10-24  0:09               ` Doug Ledford
2007-10-24 23:55                 ` Neil Brown [this message]
2007-10-25  0:09                   ` Jeff Garzik
2007-10-25  8:09                     ` David Greaves
2007-10-26  6:16                       ` Neil Brown
2007-10-26 14:18                         ` Bill Davidsen
2007-10-26 18:41                           ` Doug Ledford
2007-10-26 22:20                             ` Gabor Gombas
2007-10-26 22:58                               ` Doug Ledford
2007-10-27 11:11                               ` Luca Berra
2007-10-27 15:20                             ` Bill Davidsen
2007-10-28  0:18                               ` Doug Ledford
2007-10-29  0:44                                 ` Bill Davidsen
2007-10-27 21:11                             ` Doug Ledford
2007-10-29  0:48                               ` Bill Davidsen
2007-10-30  3:25                           ` Neil Brown
2007-11-02 12:31                             ` Bill Davidsen
2007-10-25  7:01                   ` Doug Ledford
2007-10-25 14:49                   ` Bill Davidsen
2007-10-25 15:00                     ` David Greaves
2007-10-26  5:56                     ` Neil Brown
2007-10-24 14:00               ` John Stoffel
2007-10-24 15:18                 ` Mike Snitzer
2007-10-24 15:32                 ` Bill Davidsen
2007-10-20 14:09       ` Michael Tokarev
2007-10-20 14:24         ` Doug Ledford
2007-10-20 14:52         ` John Stoffel
2007-10-20 15:07           ` Iustin Pop
2007-10-20 15:36             ` Doug Ledford
2007-10-20 18:24           ` Michael Tokarev
2007-10-22 20:39             ` John Stoffel
2007-10-22 22:29               ` Michael Tokarev
2007-10-24  0:42               ` Doug Ledford
2007-10-24  9:40                 ` David Greaves
2007-10-24 20:22                 ` Bill Davidsen
2007-10-25 16:29                   ` Doug Ledford
2007-11-01 21:02                 ` H. Peter Anvin
2007-11-02 15:50                   ` Doug Ledford
2007-10-24  0:36             ` Doug Ledford
2007-10-23 23:18           ` Bill Davidsen
2007-10-19 16:34     ` Justin Piszcz
2007-10-23 23:19       ` Bill Davidsen

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=18207.56169.769976.512617@notabene.brown \
    --to=neilb@suse.de \
    --cc=davidsen@tmr.com \
    --cc=dledford@redhat.com \
    --cc=john@stoffel.org \
    --cc=jpiszcz@lucidpixels.com \
    --cc=linux-raid@vger.kernel.org \
    /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).