summaryrefslogtreecommitdiffstats
path: root/drivers/md/raid10.h
diff options
context:
space:
mode:
authorTrela, Maciej <Maciej.Trela@intel.com>2010-03-08 06:02:45 +0100
committerNeilBrown <neilb@suse.de>2010-05-18 07:27:48 +0200
commitdab8b29248b3f14f456651a2a6ee9b8fd16d1b3c (patch)
treeced1c7cd74f2e0efc5a48819aa4711047960e2d5 /drivers/md/raid10.h
parentmd: Add support for Raid5->Raid0 and Raid10->Raid0 takeover (diff)
downloadlinux-dab8b29248b3f14f456651a2a6ee9b8fd16d1b3c.tar.xz
linux-dab8b29248b3f14f456651a2a6ee9b8fd16d1b3c.zip
md: Add support for Raid0->Raid10 takeover
Signed-off-by: Maciej Trela <maciej.trela@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid10.h')
-rw-r--r--drivers/md/raid10.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/md/raid10.h b/drivers/md/raid10.h
index 59cd1efb8d30..3824a087e17c 100644
--- a/drivers/md/raid10.h
+++ b/drivers/md/raid10.h
@@ -33,9 +33,16 @@ struct r10_private_data_s {
* 1 stripe.
*/
+ sector_t dev_sectors; /* temp copy of mddev->dev_sectors */
+
int chunk_shift; /* shift from chunks to sectors */
sector_t chunk_mask;
+ int scale_disks; /* When starting array, multiply
+ * each ->raid_disk by this.
+ * Need for raid0->raid10 migration
+ */
+
struct list_head retry_list;
/* queue pending writes and submit them on unplug */
struct bio_list pending_bio_list;
@@ -57,6 +64,11 @@ struct r10_private_data_s {
mempool_t *r10bio_pool;
mempool_t *r10buf_pool;
struct page *tmppage;
+
+ /* When taking over an array from a different personality, we store
+ * the new thread here until we fully activate the array.
+ */
+ struct mdk_thread_s *thread;
};
typedef struct r10_private_data_s conf_t;