RFC Intel(R) Smart Response Technology mdadm enumeration/assembly
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest11 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/11 | sysfs: fix sysfs_set_array() to accept valid negative array levelssysfs.c | +3 | 0 replies | |
| 2/11 | make must_be_container() more selectiveutil.c | +9 | 0 replies | |
| 3/11 | Assemble: show the uuid in the verbose caseAssemble.c | +15 | 0 replies | |
| 4/11 | Assemble: teardown partially assembled arraysAssemble.c | +5 | 0 replies | |
| 5/11 | Examine: support for coalescing "cache legs"Examine.c mdadm.h | +83 | 0 replies | |
| 6/11 | imsm: immutable volume idsuper-intel.c | +65 | 0 replies | |
| 7/11 | imsm: cache metadata definitionsMakefile isrt-intel.h super-intel.c | +271 | 0 replies | |
| 8/11 | imsm: read cache metadatasuper-intel.c | +47 | 0 replies | |
| 9/11 | imsm: examine cache configurationsisrt-intel.h super-intel.c | +172 | 0 replies | |
| 10/11 | imsm: assemble cache volumesisrt-intel.h maps.c mdadm.h +3 more | +198 | 0 replies | |
| 11/11 | imsm: support cache enabled arrayssuper-intel.c | +2 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC mdadm PATCH 00/11] Intel(R) Smart Response Technology mdadm enumeration/assembly
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