Re: Tux3 report: New news for the new year

From: Daniel Phillips
Date: Tue Jan 01 2013 - 16:49:26 EST

Hi Martin,

Thanks for the "tux3 howto". Obviously needs refresh, but you hit the
main points.

On Tuesday, January 01, 2013 03:37:08 PM you wrote:
> Writing a file with
> ./tux3 write tux3.img /etc/fstab
> also seemed to work, but I gave up holding down the enter key at:
> delta_get: delta 448, refcount 2
> tuxio: write 1 bytes at 4484, isize = 0x1184
> delta_put: delta 448, refcount 1
> /etc/fstab is 1714 bytes long.

Indeed, the trace output is too chatty, but it's nice that it wrote a file. The
tux3 command is cool, it can access and update an unmounted tux3 volume, even
make diagrams of it. This will form the basis of our maintenance suite. A
basic "tux3 fsck" is under construction:
"Towards basic filesystem checking"
"Towards basic filesystem checking (simplified)"

> No tux3fuse, but then, I lacked libfuse-dev, after installing, compiling
> worked:
> martin@merkaba:~[â]> make tux3fuse
> gcc -MF ./.deps/tux3fuse.d -MP -MMD -m64 -std=gnu99 -Wall -g -rdynamic
> I/home/martin/Linux/Dateisysteme/tux3/tux3/user -Wall -Wextra -Werror
> -Wundef -Wstrict-prototypes -Werror-implicit- function-declaration
> -Wno-unused-parameter -Wno-sign-compare -Wno-missing-field-initializers
> -DDISABLE_ASYNC_BACKEND=1 $(pkg-config --cflags fuse) tux3fuse.c -lfuse
> -o tux3fuse libtux3.a libklib/libklib.a
> Then I could use it:
> martin@merkaba:~[â]> ./tux3 mkfs tux3.img
> __setup_sb: blocksize 4096, blockbits 12, blockmask 00000fff
> __setup_sb: volblocks 25600, freeblocks 25600, freeinodes 281474976710656,
> nextalloc 0 __setup_sb: atom_dictsize 0, freeatom 0, atomgen 1
> __setup_sb: logchain 0, logcount 0
> make tux3 filesystem on tux3.img (0x6400000 bytes)
> [â]
> 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:~[â]>
> Unmounting it again worked nicely.

That would be a bug, most probably in the fuse glue. Nearly all the testing
recently has been on the kernel port (mostly under kvm) so its nice to hear
that tux3 write still works and tux3fuse almost works. Probably, the fuse glue
hit an assert and bailed out, causing the "endpoint is not connected" state. A
good example of why it would be nice to beef up our team a little. Anybody who
wants to take charge of the fuse glue is welcome.

> I keep it at that for now until I may take time to take a closer look.
> I think its better to continue this on tux3 mailing list, which I have
> subscribed to. But I thought I post this here, to give others some starting
> point for own experiments as I did not any documentation about this
> in the git repo.

Thanks, that was great, and quick. We look forward to seeing you on the Tux3
mailing list.

Another thing I forgot to post is a link to the tux3 mailing list:

Also, we are on, #tux3 channel.

We will do our best to improve the howto documentation. A wiki would be nice.
We may start one on github, then set one up on later. Currently, the
main focus is on filling in the last few big pieces needed to scale well, and
of course, debugging. A few more helping hands on things like wikis and
documentation refresh would be most appreciated. For now, design documentation
and howtos get posted to the Tux3 mailing list. You are more than welcome to
post your recipes above.

Thanks again,


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at