Messages in this thread Patch in this message | | | Date | Wed, 2 Jan 2013 11:45:29 +0200 (EET) | From | Tero Roponen <> | Subject | Re: Tux3 report: New news for the new year |
| |
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.roponen@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.roponen@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) {
| |