kernel 5.15.139 breaks partx -a
by BenCollver from LinuxQuestions.org on (#6GNH8)
I am running Slackware64 15.0 and i updated to kernel 5.15.139 on November 22nd. Today i tried to mount a qemu guest filesystem using the method described below [1]. It failed at "partx -a" with the following output.
partx: /dev/loop0: error adding partition 1
Strace excerpt below [2].
Booting the old kernel 5.15.117 resolved this problem for me.
[1] Presenting guest images as raw image files with FUSE
https://www.qemu.org/2021/08/22/fuse-blkexport/
[2]
openat(AT_FDCWD, "/mnt/fuse/freedos-1.3.fuse", O_RDWR|O_CLOEXEC) = 3
openat(AT_FDCWD, "/dev/loop0", O_RDWR|O_CLOEXEC) = 4
ioctl(4, LOOP_CONFIGURE, {fd=3, block_size=0, info={lo_offset=0, lo_number=0, lo
_flags=0, lo_file_name="/mnt/fuse/freedos-1.3.fuse", ...}}) = 0
close(3) = 0
openat(AT_FDCWD, "/dev/loop0", O_RDONLY) = 3
fadvise64(3, 0, 0, POSIX_FADV_RANDOM) = 0
newfstatat(3, "", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x7, 0), ...}, AT_EMPTY
_PATH) = 0
ioctl(3, BLKGETSIZE64, [8589934592]) = 0
...
lseek(3, 0, SEEK_SET) = 0
read(3, "...", 1024) = 1024
ioctl(3, BLKSSZGET, [512]) = 0
ioctl(3, BLKPG, {op=BLKPG_ADD_PARTITION, flags=0, datalen=152, data={start=32256, length=8587160064, pno=1, devname="", volname=""}}) = -1 EINVAL (Invalid argument)
partx: /dev/loop0: error adding partition 1
Strace excerpt below [2].
Booting the old kernel 5.15.117 resolved this problem for me.
[1] Presenting guest images as raw image files with FUSE
https://www.qemu.org/2021/08/22/fuse-blkexport/
[2]
openat(AT_FDCWD, "/mnt/fuse/freedos-1.3.fuse", O_RDWR|O_CLOEXEC) = 3
openat(AT_FDCWD, "/dev/loop0", O_RDWR|O_CLOEXEC) = 4
ioctl(4, LOOP_CONFIGURE, {fd=3, block_size=0, info={lo_offset=0, lo_number=0, lo
_flags=0, lo_file_name="/mnt/fuse/freedos-1.3.fuse", ...}}) = 0
close(3) = 0
openat(AT_FDCWD, "/dev/loop0", O_RDONLY) = 3
fadvise64(3, 0, 0, POSIX_FADV_RANDOM) = 0
newfstatat(3, "", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x7, 0), ...}, AT_EMPTY
_PATH) = 0
ioctl(3, BLKGETSIZE64, [8589934592]) = 0
...
lseek(3, 0, SEEK_SET) = 0
read(3, "...", 1024) = 1024
ioctl(3, BLKSSZGET, [512]) = 0
ioctl(3, BLKPG, {op=BLKPG_ADD_PARTITION, flags=0, datalen=152, data={start=32256, length=8587160064, pno=1, devname="", volname=""}}) = -1 EINVAL (Invalid argument)