From: Mariusz Tkaczyk Date: Fri, 28 Sep 2018 07:48:53 +0000 (+0200) Subject: imsm: block using partition X-Git-Tag: mdadm-4.1~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a30e28ef7d15fcb49bc852216c597fdd5bfcef0;p=thirdparty%2Fmdadm.git imsm: block using partition 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 Signed-off-by: Jes Sorensen --- diff --git a/super-intel.c b/super-intel.c index d3d256a4..6438987b 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;