commit
a6ca0456cc6d("loopdev: report lost loop devices") forgot to
report lost loop device for finding free loop case. With this path,
it will show the following if next free loop device is lost.
# ./losetup -f
/dev/loop1 (lost)
# ./losetup -f /tmp/test.img
lt-losetup: /tmp/test.img: failed to set up loop device: No such file or directory
lt-losetup: device node /dev/loop1 (7:1) is lost. You may use mknod(1) to recover it.
Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
case A_FIND_FREE:
res = find_unused(&lc);
if (!res)
- printf("%s\n", loopcxt_get_device(&lc));
+ printf("%s%s\n", loopcxt_get_device(&lc),
+ loopcxt_is_lost(&lc) ? " (lost)" : "");
break;
case A_SHOW:
if (list)
}
if (res && (act == A_SET_CAPACITY
+ || act == A_CREATE
|| act == A_SET_DIRECT_IO
|| act == A_SET_BLOCKSIZE)
&& loopcxt_is_lost(&lc))