md: Remove the AllReserved flag for component devices.
authorNeilBrown <neilb@suse.de>
Mon, 31 Jan 2011 01:10:09 +0000 (12:10 +1100)
committerNeilBrown <neilb@suse.de>
Mon, 31 Jan 2011 01:10:09 +0000 (12:10 +1100)
commitf21e9ff7f77d41ceca4e1e5ee5a4efa5ad7a5e40
treec6bf9c0457ae891505983c1493bf15856e815c5b
parent50da08409654e036c4c964a473567a61a654cb83
md: Remove the AllReserved flag for component devices.

This flag is not needed and is used badly.

Devices that are included in a native-metadata array are reserved
exclusively for that array - and currently have AllReserved set.
They all are bd_claimed for the rdev and so cannot be shared.

Devices that are included in external-metadata arrays can be shared
among multiple arrays - providing there is no overlap.
These are bd_claimed for md in general - not for a particular rdev.

When changing the amount of a device that is used in an array we need
to check for overlap.  This currently includes a check on AllReserved
So even without overlap, sharing with an AllReserved device is not
allowed.
However the bd_claim usage already precludes sharing with these
devices, so the test on AllReserved is not needed.  And in fact it is
wrong.

As this is the only use of AllReserved, simply remove all usage and
definition of AllReserved.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/md.c
drivers/md/md.h