On Tue, 9 Apr 2024 01:31:35 +0200 Sven Köhler <sven.koehler@xxxxxxxxx> wrote: > I strongly believe that mdadm should ignore any metadata - regardless of > the version - that is at a location owned by any of the partitions. That would require mdadm to understand gpt parttable, not only clone it. We have gpt support to clone the gpt metadata( see super-gpt.c). It should save us from such issues so you have my ack if you want to do this. But... GPT should have secondary header located at the end of the device, so your metadata should be not at the end. Are you using gpt or mbr parttable? Maybe missing secondary gpt header is the reason? > While I'm not 100% sure how to implement that, the following might also > work: first scan the partitions for metadata, then ignore if the parent > device has metadata with a UUID previously found. No, it is not an option. In udev world, you should only operate on device you are processing so we should avoid referencing the system. BTW. To avoid this issue you can left few bytes empty at the end of disk, simply make your last partition ended few bytes before end of the drive. With that metadata will not be recognized directly on the drive. That is at least what I expected but I'm not native experienced so please be aware of that. > I did the right thing and converted my RAID arrays to metadata 1.2, but > I'd like to save other from the adrenaline shock. There are reasons why we introduced v1.2 located at the begging of device. You can try to fix it but I think that you should just follow upstream and choose 1.2 if you can. As we are more and more with 1.2 that naturally we care less about 0.9, especially of workarounds in other utilities. We cannot control if legacy workarounds are still there (the root cause of this change may be outside md/mdadm, you never know :)). So the cases like that will always come. It is right to use 1.2 now to be better supported if you don't have strong need to stay with 0.9. Anyway, patches are always welcomed! Thanks, Mariusz