]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
fix: correct metadata's update communication
authorLukasz Dorau <lukasz.dorau@intel.com>
Fri, 18 Nov 2011 14:34:33 +0000 (15:34 +0100)
committerNeilBrown <neilb@suse.de>
Mon, 21 Nov 2011 05:17:56 +0000 (16:17 +1100)
The problem occurs when array under migration is assembled incrementally.
st->update_tail is not initialized in function
assemble_container_content() and during reshape
the checkpoint information in metadata is not being updated.

The value of st->update_tail is now initialized in function
assemble_container_content() and during reshape the checkpoint
information in metadata is being updated correctly on all disks.

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Assemble.c

index 3c8e74dcaff978f205e0c41b40c09b0ecb019178..74708d158e55d23736650ca81db770f676a6f5c8 100644 (file)
@@ -1585,6 +1585,9 @@ int assemble_container_content(struct supertype *st, int mdfd,
                                if (!mdmon_running(st->container_dev))
                                        start_mdmon(st->container_dev);
                                ping_monitor_by_id(st->container_dev);
+                               if (mdmon_running(st->container_dev) &&
+                                               st->update_tail == NULL)
+                                       st->update_tail = &st->updates;
                        }
 
                        err = Grow_continue(mdfd, st, content, backup_file,