linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC mdadm PATCH 00/11] Intel(R) Smart Response Technology mdadm enumeration/assembly
@ 2014-04-24  7:22 Dan Williams
  2014-04-24  7:22 ` [RFC mdadm PATCH 01/11] sysfs: fix sysfs_set_array() to accept valid negative array levels Dan Williams
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Dan Williams @ 2014-04-24  7:22 UTC (permalink / raw)
  To: neilb; +Cc: linux-raid, jes.sorensen, artur.paszkiewicz, dave.jiang

As mentioned in the kernel enabling [1] these cache volumes augment the
existing imsm model in that cache legs each imply a container.  In the
standard cache configuration two single-drive-raid0 volumes (from
separate containers) are associated into a cached volume.  The diagram
below attempts to make this clearer.

+-----------------------+              +----------------------+             
|          sda          | SSD          |         sdb          | HDD         
| +-------------------+ |              | +------------------+ |             
| |   /dev/md/imsm0   | | Container0   | |  /dev/md/imsm1   | | Container1  
| | +---------------+ | |              | | +--------------+ | |             
| | | /dev/md/vol0  | | | RAID Volume0 | | | /dev/md/vol1 | | | RAID Volume1
| | |  +---------+  | | |              | | | +----------+ | | |             
| | |  |SRT Cache|  | | |              | | | |SRT Target| | | |             
+-+-+--+----+----+--+-+-+              +-+-+-+----+-----+-+-+-+             
            |                                     |                         
            |                                     |                         
            |          HDD Cached by SSD          |                         
            |           +--------------+          |                         
            +-----------+ /dev/md/isrt +----------+                         
                        +--------------+                                    

In support of the standard mdadm volume discovery model a uuid a
synthesized from the combination of the two container-family-numbers and
immutable volume-ids.  Examine_brief is modified to aggregate cache legs
across containers.

Create support is not included, but existing volumes can be
auto-assembled:

  mdadm -Ebs > conf
  mdadm -Asc conf

To facilitate testing the patches are also available on github, but note
that this branch will rebase according to review feedback.

  git://github.com/djbw/mdadm isrt

[1]: http://marc.info/?l=linux-raid&m=139832034826379&w=2

---

Dan Williams (11):
      sysfs: fix sysfs_set_array() to accept valid negative array levels
      make must_be_container() more selective
      Assemble: show the uuid in the verbose case
      Assemble: teardown partially assembled arrays
      Examine: support for coalescing "cache legs"
      imsm: immutable volume id
      imsm: cache metadata definitions
      imsm: read cache metadata
      imsm: examine cache configurations
      imsm: assemble cache volumes
      imsm: support cache enabled arrays


 Assemble.c    |   27 ++-
 Examine.c     |   92 +++++++++-
 Makefile      |    2 
 isrt-intel.h  |  270 ++++++++++++++++++++++++++++++
 maps.c        |    1 
 mdadm.h       |    4 
 super-intel.c |  516 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 sysfs.c       |   13 +
 util.c        |   18 +-
 9 files changed, 865 insertions(+), 78 deletions(-)
 create mode 100644 isrt-intel.h

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-04-24  7:23 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-24  7:22 [RFC mdadm PATCH 00/11] Intel(R) Smart Response Technology mdadm enumeration/assembly Dan Williams
2014-04-24  7:22 ` [RFC mdadm PATCH 01/11] sysfs: fix sysfs_set_array() to accept valid negative array levels Dan Williams
2014-04-24  7:22 ` [RFC mdadm PATCH 02/11] make must_be_container() more selective Dan Williams
2014-04-24  7:22 ` [RFC mdadm PATCH 03/11] Assemble: show the uuid in the verbose case Dan Williams
2014-04-24  7:22 ` [RFC mdadm PATCH 04/11] Assemble: teardown partially assembled arrays Dan Williams
2014-04-24  7:22 ` [RFC mdadm PATCH 05/11] Examine: support for coalescing "cache legs" Dan Williams
2014-04-24  7:22 ` [RFC mdadm PATCH 06/11] imsm: immutable volume id Dan Williams
2014-04-24  7:22 ` [RFC mdadm PATCH 07/11] imsm: cache metadata definitions Dan Williams
2014-04-24  7:23 ` [RFC mdadm PATCH 08/11] imsm: read cache metadata Dan Williams
2014-04-24  7:23 ` [RFC mdadm PATCH 09/11] imsm: examine cache configurations Dan Williams
2014-04-24  7:23 ` [RFC mdadm PATCH 10/11] imsm: assemble cache volumes Dan Williams
2014-04-24  7:23 ` [RFC mdadm PATCH 11/11] imsm: support cache enabled arrays Dan Williams

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).