Hello!
Just after this kernel upgrade I noticed 'losetup' running very slow when invoked with '--partscan' option. It looks to be an ioclt timeout. There is no problem on 4.4.157. Checked on several different hardware configurations. Anyone else has this issue? Is it a kernel or rather a 'losetup' problem?
Thanks,
Jan
How to reproduce?
System: Slackware64 14.2
Kernel: vmlinuz-generic-4.4.172
Commands:
Code:
# dd if=/dev/zero of=~/file.img bs=1MiB count=10
# strace losetup --find --show --partscan ~/file.img
open("/root/file.img", O_RDWR|O_CLOEXEC) = 3
open("/dev/loop1", O_RDWR|O_CLOEXEC) = 4
ioctl(4, LOOP_SET_FD, 3) = 0
ioctl(4, LOOP_SET_STATUS64, {offset=0, number=0, flags=LO_FLAGS_PARTSCAN, file_name="/root/file.img", ...}) = 0 <-- THIS SYSCALL TAKES A LONG TIME TO COMPLETE
close(3) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
write(1, "/dev/loop1\n", 11/dev/loop1) = 11
stat("/root/file.img", {st_mode=S_IFREG|0644, st_size=10485760, ...}) = 0
close(4) = 0
close(1) = 0
close(2) = 0
exit_group(0) = ?
+++ exited with 0 +++
# dmesg
[ 2333.093280] udevd[685]: worker [3854] /devices/virtual/block/loop1 timeout; kill it
[ 2333.093300] udevd[685]: seq 2772 '/devices/virtual/block/loop1' killed
[ 2333.093617] udevd[685]: worker [3854] failed while handling '/devices/virtual/block/loop1'