summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2008-02-06 01:39:54 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-06 10:41:18 -0800
commitc5d79adba7ced41d7ac097c2ab74759d10522dd5 (patch)
treeab5a45046244602f2a27be0b34fb26155a3c8dee /include
parent1ec4a9398dc05061b6258061676fede733458893 (diff)
downloadop-kernel-dev-c5d79adba7ced41d7ac097c2ab74759d10522dd5.zip
op-kernel-dev-c5d79adba7ced41d7ac097c2ab74759d10522dd5.tar.gz
md: allow devices to be shared between md arrays
Currently, a given device is "claimed" by a particular array so that it cannot be used by other arrays. This is not ideal for DDF and other metadata schemes which have their own partitioning concept. So for externally managed metadata, just claim the device for md in general, require that "offset" and "size" are set properly for each device, and make sure that if a device is included in different arrays then the active sections do not overlap. This involves adding another flag to the rdev which makes it awkward to set "->flags = 0" to clear certain flags. So now clear flags explicitly by name when we want to clear things. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/raid/md_k.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h
index c77dca3..5b2102e 100644
--- a/include/linux/raid/md_k.h
+++ b/include/linux/raid/md_k.h
@@ -81,6 +81,8 @@ struct mdk_rdev_s
#define In_sync 2 /* device is in_sync with rest of array */
#define WriteMostly 4 /* Avoid reading if at all possible */
#define BarriersNotsupp 5 /* BIO_RW_BARRIER is not supported */
+#define AllReserved 6 /* If whole device is reserved for
+ * one array */
int desc_nr; /* descriptor index in the superblock */
int raid_disk; /* role of device in array */
OpenPOWER on IntegriCloud