]> git.ipfire.org Git - thirdparty/mdadm.git/commit - Assemble.c
Assemble: print error message if mdadm fails assembling with --uuid option
authorGioh Kim <gi-oh.kim@cloud.ionos.com>
Tue, 16 Apr 2019 16:08:17 +0000 (18:08 +0200)
committerJes Sorensen <jsorensen@fb.com>
Mon, 27 Apr 2020 14:44:09 +0000 (10:44 -0400)
commit5cfb79dea26d9d7266f79c7c196a1a9f70c16a28
tree687edf90ccae250511c9555d07278af5e00ac57b
parent12724c018c964596aa277489fd287d5c3506361a
Assemble: print error message if mdadm fails assembling with --uuid option

When mdadm tries to assemble one working device and one zeroed-out device,
it failed but print successful message because there is --uuid option.

Following script always reproduce it.

dd if=/dev/zero of=/dev/ram0 oflag=direct
dd if=/dev/zero of=/dev/ram1 oflag=direct
./mdadm -C /dev/md111 -e 1.2 --uuid="12345678:12345678:12345678:12345678" \
    -l1 -n2 /dev/ram0 /dev/ram1
./mdadm -S /dev/md111
dd if=/dev/zero of=/dev/ram1 oflag=direct
./mdadm -A /dev/md111 --uuid="12345678:12345678:12345678:12345678" \
    /dev/ram0 /dev/ram1

Following is message from mdadm.

mdadm: No super block found on /dev/ram1 (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/ram1
mdadm: /dev/md111 assembled from 1 drive - need all 2 to start it (use --run to insist).

The mdadm say that it assembled but mdadm does not create /dev/md111.
The message is wrong.

After applying this patch, mdadm reports error correctly as following.

mdadm: No super block found on /dev/ram1 (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/ram1
mdadm: /dev/ram1 has no superblock - assembly aborted

Signed-off-by: Gioh Kim <gi-oh.kim@cloud.ionos.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
Assemble.c