On Tue, 1 Jan 2013, Martin Steigerwald wrote:

> martin@merkaba:~[…]> sudo ./tux3fuse tux3.img /mnt/zeit
> [sudo] password for martin: 
> 
> martin@merkaba:~[…]> mount | grep fuse
> fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
> tux3.img on /mnt/zeit type fuse.tux3.img 
> (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
> 
> 
> 
> But I am stuck with accessing it:
> 
> martin@merkaba:~[…]> LANG=C ls -l /mnt/zeit            
> ls: cannot access /mnt/zeit: Permission denied
> 
> martin@merkaba:~[…]> LANG=C sudo chown martin:martin /mnt/zeit
> chown: cannot access '/mnt/zeit': Transport endpoint is not connected
> martin@merkaba:~[…]> LANG=C sudo ls -l /mnt/zeit
> ls: cannot access /mnt/zeit: Transport endpoint is not connected
> martin@merkaba:~[…]>

Hi,

I have not looked at Tux3 for a long time, but there seems to be
a simple fix for at least this problem, and two workarounds:

1) Run the program in foreground (-f):

   sudo ./tux3fuse tux3.img /mnt/zeit -f

2) Use absolute path for image file:

   sudo ./tux3fuse $(pwd)/tux3.img /mnt/zeit

The following patch should hopefully fix this for good.

commit efc0cf49f6dd00dfbb84e88336d2c5d147a09ed0
Author: Tero Roponen <tero.ropo...@gmail.com>
Date:   Wed Jan 2 11:20:46 2013 +0200

    Use absolute path for volume name
    
    If fuse_daemonize() puts us into background it also switches our
    working directory to '/', breaking the use of relative paths.
    
    This patch fixes the problem by converting the relative path to
    an absolute one.
    
    Signed-off-by: Tero Roponen <tero.ropo...@gmail.com>

diff --git a/user/tux3fuse.c b/user/tux3fuse.c
index 6401204..5047cab 100644
--- a/user/tux3fuse.c
+++ b/user/tux3fuse.c
@@ -993,7 +993,7 @@ int main(int argc, char *argv[])
                goto error;
 
        struct tux3fuse tux3fuse = {
-               .volname = argv[1],
+               .volname = canonicalize_file_name(argv[1]),
        };
        fs = fuse_lowlevel_new(&args, &tux3_ops, sizeof(tux3_ops), &tux3fuse);
        if (fs) {

Reply via email to