** Changed in: linux (Ubuntu) Status: New => Won't Fix -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2059092
Title: [VROC] mdadm detects dm-device as partition Status in linux package in Ubuntu: Won't Fix Bug description: We discovered an issue when trying to create imsm container with mdadm on dm-device. Environment: OS: Ubuntu 24.04 Kernel: inbox 6.6.0 Scenario: 1. Create dm device # echo -e '0 195312 linear /dev/nvme2n1 0' | dmsetup create nvme2n1DM 2. Create IMSM container. # dmdev=$(readlink -f /dev/mapper/nvme2n1DM) # export IMSM_DEVNAME_AS_SERIAL=1 IMSM_NO_PLATFORM=1; mdadm --create /dev/md/container --metadata=imsm --raid-disks=1 $dmdev --force Expected result: Container is created. Actual result: Error message is displayed # mdadm: imsm: /dev/dm-0 is a partition, cannot be used in IMSM Container is not created. Additional info: Mdadm uses ioctl call underneath to check if device is a partition. Here's the function: int test_partition(int fd) { /* Check if fd is a whole-disk or a partition. * BLKPG will return EINVAL on a partition, and BLKPG_DEL_PARTITION * will return ENXIO on an invalid partition number. */ struct blkpg_ioctl_arg a; struct blkpg_partition p; a.op = BLKPG_DEL_PARTITION; a.data = (void*)&p; a.datalen = sizeof(p); a.flags = 0; memset(a.data, 0, a.datalen); p.pno = 1<<30; if (ioctl(fd, BLKPG, &a) == 0) /* Very unlikely, but not a partition */ return 0; if (errno == ENXIO || errno == ENOTTY) /* not a partition */ return 0; return 1; } We established that the behavior is caused by regression in ioctl. Thread: https://lore.kernel.org/all/caoyef9vsmqkmcqjo1k6ykgnujwn-nzfxy17n3f-cmike1ty...@mail.gmail.com/ Fix: https://lore.kernel.org/all/20240118130401.792757-1-lilingf...@huaweicloud.com/ We established that ioctl call on dm-device returns EINVAL as if it was a partition. Note that this function was was working unchanged for last 10+years and the issue was fixed in newer kenel. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2059092/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp