Hello, It seems that mdadm/md do not perform proper sanity checks before adding a component to a degraded array. If the size of the new component is just right, the superblock information will overlap with the data area. This will happen without any error indications in the syslog or otherwise. I came up with a reproducible scenario which I am attaching to this email alongside with the entire test script. I have not tested it for other raid levels, or other types of superblocks, but I suspect the same problem will occur for many other configurations. I am willing to test patches, however the attached script is non-intrusive enough to be executed anywhere. The output of the script follows bellow. Peter ====================================================================== ====================================================================== ====================================================================== root@Thesaurus:/media/space/testmd# ./md_overlap_test Creating component 1 (1056768 bytes)... done. Creating component 2 (1056768 bytes)... done. Creating component 3 (1056768 bytes)... done. =============================================================== Creating 3 disk raid5 array with v1.1 superblock mdadm: array /dev/md9 started. Waiting for resync to finish... done. md9 : active raid5 loop3[3] loop2[1] loop1[0] 2048 blocks super 1.1 level 5, 64k chunk, algorithm 2 [3/3] [UUU] Initial checksum of raw raid5 device: 4df1921524a3b717a956fceaed0ae691 /dev/md9 =============================================================== Failing first componnent mdadm: set /dev/loop1 faulty in /dev/md9 mdadm: hot removed /dev/loop1 md9 : active raid5 loop3[3] loop2[1] 2048 blocks super 1.1 level 5, 64k chunk, algorithm 2 [3/2] [_UU] Checksum of raw raid5 device after failing componnent: 4df1921524a3b717a956fceaed0ae691 /dev/md9 =============================================================== Re-creating block device with size 1048576 bytes, so both the superblock and data start at the same spot Adding back to array mdadm: added /dev/loop1 Waiting for resync to finish... done. md9 : active raid5 loop1[4] loop3[3] loop2[1] 2048 blocks super 1.1 level 5, 64k chunk, algorithm 2 [3/3] [UUU] Checksum of raw raid5 device after adding back smaller component: bb854f77ad222d224fcdd8c8f96b51f0 /dev/md9 =============================================================== Attempting recovery Waiting for recovery to finish... done. Performing check Waiting for check to finish... done. Current value of mismatch_cnt: 0 Checksum of raw raid5 device after repair/check: 146f5c37305c42cda64538782c8c3794 /dev/md9 root@Thesaurus:/media/space/testmd#