]> git.ipfire.org Git - thirdparty/mdadm.git/commit - super-intel.c
imsm: enforce "all member disks must be members of all arrays"
authorDan Williams <dan.j.williams@intel.com>
Tue, 20 Jan 2009 08:36:51 +0000 (01:36 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 20 Jan 2009 08:36:51 +0000 (01:36 -0700)
commita20d2ba5f32c76903ab6e32d83fa8c5e9c78d13f
treeac2a2d1d66cbef9434c8ddda1311a546a2a970d9
parent1c556e92bad85ab7591ddf5ac78b90513f315b32
imsm: enforce "all member disks must be members of all arrays"

This is a key orom-compatibility constraint.  A nice side effect is that
it precludes the corner case of 'create' racing against 'spare activate'
since the create will fail to convert a spare into an array member.  At
create time we check if this is the first member array in the container
if it is than all disks are possible candidates, if it is not then only
current members are permitted.

A bit hairier is spare-activation handling in the presence of this
constraint.  It is difficult because spare handling is per array.  The
approach taken is to:

1/ check that a new spare can cover all defined arrays in the container
2/ ensure that partially assimilated spares are the first candidates
   when looking for a spare region to activate.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
super-intel.c