Missing htobe32() conversion
xr in https://gitlab.com/AndreasK/magiclinux/-/blame/main/src/HostXFS.cpp#L2325 is an Atari address, and the error code must be converted to big-endian.
Edit: the call above it to openat() also seems to be wrong, because that fails for directories. And the ino_t is copied in host endian format (even if the host size of this entry is 64bit), dunno yet whether that can cause problems.
Edit2: attached is a possible fix
Edited by Thorsten Otto