在mdadm中是通过superswitch来实现对超级块的操作,例如写入,载入到内存,更新等,但是除了我们理解的superblock有0.9及1.0版本之外,我们以为应该对应的应该只有两套superwitch操作,但是,源码中给出是这样的:
struct superswitch *superlist[] =
{
&super0, &super1,
&super_ddf, &super_imsm,
&mbr, &gpt,
NULL };
一直在苦苦摸索这究竟为什么有这么多?依旧不是很清楚,愿知者告知~
但据目前从wiki上https://raid.wiki.kernel.org/index.php/RAID_superblock_formats 关于raid超级块格式的介绍中,其中是这么所的
mdadm v3.0 -- Adding the Concept of User-Space Managed External Metadata Formats
In the development packages for mdadm v3.0, a new concept is added to the traditional version-0.90 and version-1 superblocks.
Currently two such metadata formats are supported: - DDF - The SNIA standard format - Intel Matrix - The metadata used by recent Intel ICH controlers. Externally managed metadata introduces the concept of a 'container'. A container is a collection of (normally) physical devices which have a common set of metadata. A container is assembled as an md array, but is left 'inactive'.