When IMSM_NO_PLATFORM is exported mdadm allows to create array with partitions or add partition to existing array but there is no possibilty to assemble it after stopping, see commit 691c6ee1b6bb ("IMSM/DDF: don't recognised these metadata on partitions."). When searching for hba capabilities first test device and print corresponding error if it is a partition. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@xxxxxxxxx> --- super-intel.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/super-intel.c b/super-intel.c index f011a31..7edced7 100644 --- a/super-intel.c +++ b/super-intel.c @@ -4523,6 +4523,11 @@ static int find_intel_hba_capability(int fd, struct intel_super *super, char *de struct sys_dev *hba_name; int rv = 0; + if (fd >= 0 && test_partition(fd)) { + pr_err("imsm: %s is a partition, cannot be used in IMSM\n", + devname); + return 1; + } if (fd < 0 || check_env("IMSM_NO_PLATFORM")) { super->orom = NULL; super->hba = NULL; -- 1.8.3.1