linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: linux-raid@vger.kernel.org
Cc: Matt Domsch <Matt_Domsch@dell.com>
Subject: Re: DDF Trial Use draft specification now publicly available
Date: Thu, 11 Mar 2004 17:07:06 -0500	[thread overview]
Message-ID: <4050E30A.80301@pobox.com> (raw)
In-Reply-To: <20040311154542.GA6173@lists.us.dell.com>


Ok, having read the whole spec...  it reads like DDF is basically an 
hardware RAID format.  That's not a bad thing, just something that must 
be understood from the beginning.

Thus, when considering this as a "format a hardware RAID controller 
would use, to store all its global and per-array state", here are some 
inherent limitations that apply to DDF, because the global state and 
per-array state is considered from the viewpoint of being limited in 
scope to that of a "controller" -- an entity whose definition is 
amorphous at best when considering things from a Linux blkdev 
perspective.  Linux block devices are quite controller-independent, 
leading to crazy (but flexible) combinations such as md RAID1, with 1 
SCSI disk component, 1 ATA disk component, and 1 remote server using 
nbd, the network block device, serving as the hot spare.

* the scope of some metadata is per-controller.  there doesn't appear to 
be a notion of RAID arrays that can span controllers.

* "minimal" metadata from RAID arrays B, C, D, .. might be stored in 
RAID array A.  This is perfectly understandable -- the hardware RAID 
controller must store its controller-wide state somewhere.  But it is 
unclear what happens to this metadata then a RAID array is moved from 
one vendor's hardware RAID to another.  It is also unclear what the 
behavior of a purely hardware-independent implementation should be.

* the definition/implementation of multiple controllers on a single HBA 
is unclear.

* single level of stacking.  To support RAID0+1 and other "stacked" 
solutions, DDF includes an awful hack:  "secondary RAID level."  Instead 
of truly supporting the notion of nested (stacked) RAID arrays, they 
instead supported a single additional level of stacking - secondary raid 
level.  Several of the limitations related secondary RAID level are 
unclear in the DDF spec.


There is also an IMO significant flaw:

The designers made a good move in choosing GUIDs.  Then they turned 
around and created a 32-bit identifier which is far less unique, and far 
more troublesome than the GUID.  Then 32-bit identifier is what is used 
in the virtual disk (a.k.a. RAID array) description, when listing its 
components.  Argh!  These identifiers need to be eliminated, and the 
GUIDs that each element _already_ provides should be used as the unique 
identifier of choice in all lists, etc.




  parent reply	other threads:[~2004-03-11 22:07 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-11 15:45 DDF Trial Use draft specification now publicly available Matt Domsch
2004-03-11 16:08 ` Samuel Davidoff
2004-03-11 16:18   ` Matt Domsch
2004-03-11 20:43 ` Jeff Garzik
2004-03-12  7:27   ` Scott Long
2004-03-12 21:07     ` Jeff Garzik
2004-03-12 22:27       ` Scott Long
2004-03-11 22:07 ` Jeff Garzik [this message]
2004-03-12  7:55   ` Scott Long

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=4050E30A.80301@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=Matt_Domsch@dell.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).