From 2d40f3a132ac438b15eaab275a93b6869bbca16d Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Wed, 8 Jun 2011 17:12:39 +1000 Subject: [PATCH] imsm: Add metadata update type for general migration check-pointing There are 2 places for keeping checkpoint information: - metadata (per volume information used during volume initialization and rebuilding). - migration record (per container information used during migration/reshape) During reshape both checkpoints has to contains the same information. To do this mdadm will send metadta update with checkpoint information. Note: Checkpoint information consistence is not critical. During general migration restart, information from migration record is used only. Signed-off-by: Adam Kwolek Signed-off-by: NeilBrown --- super-intel.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/super-intel.c b/super-intel.c index 7654a11..73c6f32 100644 --- a/super-intel.c +++ b/super-intel.c @@ -345,7 +345,8 @@ enum imsm_update_type { update_add_remove_disk, update_reshape_container_disks, update_reshape_migration, - update_takeover + update_takeover, + update_general_migration_checkpoint, }; struct imsm_update_activate_spare { @@ -398,6 +399,11 @@ struct imsm_update_reshape_migration { int new_disks[1]; /* new_raid_disks - old_raid_disks makedev number */ }; +struct imsm_update_general_migration_checkpoint { + enum imsm_update_type type; + __u32 curr_migr_unit; +}; + struct disk_info { __u8 serial[MAX_RAID_SERIAL_LEN]; };