mdadm --create /dev/md0 --level 1 --raid-devices 2 /dev/sdb1 missing --metadata=0.90
mdadm: super0.90 cannot open /dev/sdb1: Device or resource busy
mdadm: /dev/sdb1 is not suitable for this array.
mdadm: create aborted
Sometimes running "partprobe" can fix this. Other times it requires a reboot.
One other manual thing that can be done is the following to fix it (if dm is using and blocking it):
dmsetup table
Then remove the entry that is using /dev/sdb1
dmsetup remove [the device id from above]
md3 : active raid10 sdb3[2](F) sda3[0]
436343808 blocks 512K chunks 2 far-copies [2/1] [U_]
bitmap: 4/4 pages [16KB], 65536KB chunk
mdadm: Cannot open /dev/sdb3: Device or resource busy
Fix it by removing the device from the mdadm array
mdadm --manage /dev/md3 -r /dev/sdb3
mdadm: hot removed /dev/sdb3 from /dev/md3
Now we can readd it without any error:
mdadm --manage /dev/md3 -a /dev/sdb3
mdadm: re-added /dev/sdb3
mdadm, dev, sdb, resource, suitable, array, md, raid, devices, metadata, aborted, quot, partprobe, requires, reboot, manual, dm, blocking, dmsetup, entry,