<div dir="ltr"><div>hi,</div><div><br></div><div>In context of my work on composefs/bootc I've been testing the new support for directly mounting files with erofs (ie: without a loopback device) and it's working well.  Thanks for adding this feature --- it's a huge quality of life improvement for us.</div><div><br></div><div>I've observed a strange behaviour, though: when mounting a file as an erofs, if you read() the filesystem context fd, you always get the following error message reported: Can't lookup blockdev.</div><div><br></div><div>That's caused by the code in erofs_fc_get_tree() trying to call get_tree_bdev() and recovering from the error in case it was ENOTBLK and CONFIG_EROFS_FS_BACKED_BY_FILE.  Unfortunately, get_tree_bdev() logs the error directly on the fs_context, so you get the error message even on successful mounts.</div><div><br></div><div>It looks something like this at the syscall level:</div><div><br></div><div>fsopen("erofs", FSOPEN_CLOEXEC)         = 3<br>fsconfig(3, FSCONFIG_SET_FLAG, "ro", NULL, 0) = 0<br>fsconfig(3, FSCONFIG_SET_STRING, "source", "/home/lis/src/mountcfs/cfs", 0) = 0<br>fsconfig(3, FSCONFIG_CMD_CREATE, NULL, NULL, 0) = 0<br>fsmount(3, FSMOUNT_CLOEXEC, 0)          = 5<br>move_mount(5, "", AT_FDCWD, "/tmp/composefs.upper.KuT5aV", MOVE_MOUNT_F_EMPTY_PATH) = 0<br>read(3, "e /home/lis/src/mountcfs/cfs: Can't lookup blockdev\n", 1024) = 52</div><div><br></div><div>This is kernel 6.12.0-0.rc0.20240926git11a299a7933e.13.fc42.x86_64 from Fedora Rawhide.</div><div><br></div><div>It's a pretty minor issue, but it sent me on a wild goose chase for an hour or two, so probably it should get fixed before the final release.<br></div><div><br></div><div>Thanks again for this awesome feature!</div><div><br></div><div>Allison Karlitskaya<br></div></div>