Hide Forgot
Description of problem: (Note this only happens on ARM, not on x86). libguestfs enters guestfs_mount_local, but this call returns early, apparently without any error. This leaves the FUSE mount in a strange state without a backing transport. Version-Release number of selected component (if applicable): libguestfs 1.25.13 How reproducible: 100% Steps to Reproduce: Use a test script like this: ------------------------------------------------ #!/bin/bash - fusermount -u /tmp/mnt rm -rf /tmp/mnt set -e mkdir /tmp/mnt export LIBGUESTFS_HV=/home/rjones/d/qemu/arm-softmmu/qemu-system-arm export LIBGUESTFS_DEBUG=1 export LIBGUESTFS_TRACE=1 gdir=$HOME/d/libguestfs $gdir/run \ $gdir/fish/guestfish -a $gdir/tests/guests/fedora.img -i <<EOF mount-local /tmp/mnt EOF ------------------------------------------------ Actual results: mount_local enters and leaves very quickly, with no error: libguestfs: trace: mount_local "/tmp/mnt" libguestfs: guestfs__mount_local: fuse_mount /tmp/mnt libguestfs: guestfs__mount_local: fuse_new libguestfs: guestfs__mount_local: leaving fuse_mount_local libguestfs: trace: mount_local = 0 Expected results: mount_local should wait around until someone unmounts the mountpoint using fusermount -u.
Sorry, that description & test is bogus, since it doesn't call mount-local-run. Here is an updated test case: ------------------------------------------------ #!/bin/bash - fusermount -u /tmp/mnt rm -rf /tmp/mnt set -e mkdir /tmp/mnt export LIBGUESTFS_HV=/home/rjones/d/qemu/arm-softmmu/qemu-system-arm export LIBGUESTFS_DEBUG=1 export LIBGUESTFS_TRACE=1 gdir=$HOME/d/libguestfs $gdir/run \ $gdir/fish/guestfish -a $gdir/tests/guests/fedora.img -i <<EOF mount-local /tmp/mnt mount-local-run EOF ------------------------------------------------ What happens is /tmp/mnt is created and mounted, and libguestfs sits in the FUSE loop processing requests. However the mount point has strange permissions and is completely inaccessible: $ ls -al /tmp | grep mnt ls: cannot access /tmp/mnt: Permission denied d?????????? ? ? ? ? ? mnt $ ls /tmp/mnt ls: cannot access /tmp/mnt: Permission denied So this is probably a FUSE bug?