[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.03.1301021144280.10305@gmail.com>
Date: Wed, 2 Jan 2013 11:45:29 +0200 (EET)
From: Tero Roponen <tero.roponen@...il.com>
To: Martin Steigerwald <Martin@...htvoll.de>
cc: linux-kernel@...r.kernel.org, Daniel Phillips <lkml@...nq.net>
Subject: Re: Tux3 report: New news for the new year
On Tue, 1 Jan 2013, Martin Steigerwald wrote:
> martin@...kaba:~[…]> sudo ./tux3fuse tux3.img /mnt/zeit
> [sudo] password for martin:
>
> martin@...kaba:~[…]> 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@...kaba:~[…]> LANG=C ls -l /mnt/zeit
> ls: cannot access /mnt/zeit: Permission denied
>
> martin@...kaba:~[…]> LANG=C sudo chown martin:martin /mnt/zeit
> chown: cannot access '/mnt/zeit': Transport endpoint is not connected
> martin@...kaba:~[…]> LANG=C sudo ls -l /mnt/zeit
> ls: cannot access /mnt/zeit: Transport endpoint is not connected
> martin@...kaba:~[…]>
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@...il.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@...il.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) {
Powered by blists - more mailing lists