On Thu, 7 Aug 2025 at 01:04, Xiao Ni <xni@xxxxxxxxxx> wrote: > > Hi all > > It needs to use the latest upstream mdadm > https://github.com/md-raid-utilities/mdadm/ which has fixed this > problem. And for fedora, it hasn't updated to the latest upstream. So > it has this problem. I'll update fedora mdadm to latest upstream. > > Best Regards > Xiao Thank you for looking into it and providing a solution - however, isn't it against the rules to break existing released userspace components and requiring new versions to be released in order to use a new kernel version? Is there any way this kernel patch could be amended to avoid breaking the existing userspace as it is? Thanks > On Wed, Aug 6, 2025 at 11:28 PM Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote: > > > > Hi > > > > I report that the commit 9e59d609763f70a992a8f3808dabcce60f14eb5c causes > > problem with this mdadm script: > > > > modprobe brd rd_size=1048576 > > mdadm --create /dev/md/mdmirror --name mdmirror --uuid aaaaaaaa:bbbbbbbb:cccccccc:00000001 /dev/ram0 /dev/ram1 -v -f --level=1 --raid-devices=2 > > mdadm -v --stop /dev/md/mdmirror > > mdadm --assemble /dev/md/mdmirror --name mdmirror -v > > > > Prior to this commit, the last command successfully assembles the array. > > After this commit, it reports an error "mdadm: Unable to initialize > > sysfs". > > > > See https://bugzilla.redhat.com/show_bug.cgi?id=2385871 > > > > This is the strace of the failed mdadm --assemble command: > > > > mknodat(AT_FDCWD, "/dev/.tmp.md.2512:9:127", S_IFBLK|0600, makedev(0x9, 0x7f)) = 0 > > openat(AT_FDCWD, "/dev/.tmp.md.2512:9:127", O_RDWR|O_EXCL|O_DIRECT) = 4 > > unlink("/dev/.tmp.md.2512:9:127") = 0 > > fstat(4, {st_mode=S_IFBLK|0600, st_rdev=makedev(0x9, 0x7f), ...}) = 0 > > readlink("/sys/dev/block/9:127", "../../devices/virtual/block/md12"..., 199) = 33 > > openat(AT_FDCWD, "/proc/mdstat", O_RDONLY) = 5 > > fcntl(5, F_SETFD, FD_CLOEXEC) = 0 > > fstat(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 > > read(5, "Personalities : [raid1] \nunused "..., 1024) = 48 > > read(5, "", 1024) = 0 > > close(5) = 0 > > ioctl(4, STOP_ARRAY, 0) = 0 > > openat(AT_FDCWD, "/dev/ram1", O_RDWR|O_EXCL|O_DIRECT) = 5 > > ioctl(5, BLKSSZGET, [512]) = 0 > > fstat(5, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x1, 0x1), ...}) = 0 > > ioctl(5, BLKGETSIZE64, [1073741824]) = 0 > > lseek(5, 4096, SEEK_SET) = 4096 > > read(5, "\374N+\251\1\0\0\0\0\0\0\0\0\0\0\0\252\252\252\252\273\273\273\273\314\314\314\314\0\0\0\1"..., 4096) = 4096 > > lseek(5, 0, SEEK_CUR) = 8192 > > fstat(5, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x1, 0x1), ...}) = 0 > > close(5) = 0 > > write(2, "mdadm: /dev/ram1 is identified a"..., 72) = 72 > > openat(AT_FDCWD, "/dev/ram0", O_RDWR|O_EXCL|O_DIRECT) = 5 > > ioctl(5, BLKSSZGET, [512]) = 0 > > fstat(5, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x1, 0), ...}) = 0 > > ioctl(5, BLKGETSIZE64, [1073741824]) = 0 > > lseek(5, 4096, SEEK_SET) = 4096 > > read(5, "\374N+\251\1\0\0\0\0\0\0\0\0\0\0\0\252\252\252\252\273\273\273\273\314\314\314\314\0\0\0\1"..., 4096) = 4096 > > lseek(5, 0, SEEK_CUR) = 8192 > > fstat(5, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x1, 0), ...}) = 0 > > close(5) = 0 > > write(2, "mdadm: /dev/ram0 is identified a"..., 72) = 72 > > openat(AT_FDCWD, "/dev/ram0", O_RDONLY|O_EXCL|O_DIRECT) = 5 > > ioctl(5, BLKSSZGET, [512]) = 0 > > fstat(5, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x1, 0), ...}) = 0 > > ioctl(5, BLKGETSIZE64, [1073741824]) = 0 > > lseek(5, 4096, SEEK_SET) = 4096 > > read(5, "\374N+\251\1\0\0\0\0\0\0\0\0\0\0\0\252\252\252\252\273\273\273\273\314\314\314\314\0\0\0\1"..., 4096) = 4096 > > lseek(5, 0, SEEK_CUR) = 8192 > > close(5) = 0 > > fstat(4, {st_mode=S_IFBLK|0600, st_rdev=makedev(0x9, 0x7f), ...}) = 0 > > readlink("/sys/dev/block/9:127", 0x7ffcd3ed18b0, 199) = -1 ENOENT (Adresář nebo soubor neexistuje) !!! FAILURE !!! > > newfstatat(AT_FDCWD, "/sys/block/md127/md", 0x7ffcd3ed1a30, 0) = -1 ENOENT (Adresář nebo soubor neexistuje) > > write(2, "mdadm: Unable to initialize sysf"..., 34) = 34 > > unlink("/run/mdadm/map.lock") = 0 > > close(3) = 0 > > close(4) = 0 > > exit_group(1) = ? > > > > See the line that is marked "!!! FAILURE !!!". Prior to the commit > > 9e59d609763f70a992a8f3808dabcce60f14eb5c, mdadm is able to read the > > /sys/dev/block/9:127 symlink. > > > > Mikulas >