Closed GoogleCodeExporter closed 8 years ago
Can you be more specific what you mean by this?
Original comment by apetresc
on 3 Dec 2010 at 6:21
Well to program a fs using FUSE there are two ways (interfaces) to do this.
There is the highlevel interface, which uses the path as argument. A lot of
administration (inodes, entries) is done "behind" the scenes by the fuse
library.
And there is the lowlevel interface, which uses the inode as argument. Here
your fs has to do the inode and entry administration itself. Look at the fuse
include file
fuse_lowlevel.h in the include dir and hello_ll.c in the example dir of the
source of FUSE.
Stef Bon
Voorburg
the Netherlands
Original comment by Stef...@gmail.com
on 3 Dec 2010 at 6:44
I see; out of curiosity, what benefits do you see for s3fs using such a
low-level interface? Given the nature of s3fs, I can't really think of anything
clever we would be able to do above the normal things FUSE does for us. Did you
have a particular user-facing feature in mind?
Thanks for your time!
Original comment by apetresc
on 3 Dec 2010 at 6:46
Well first there is my own interest. I'm building fuse-workspace-ll, which is
an important part of a construction to offer a "GoboLinux" like environment,
which I think is great. Look at:
http://linux.bononline.nl/wiki/index.php/Changes_and_issues
This construction offers the user an environment with only the following
directories:
Computer (for hardware)
Network (local network services like SMB shares)
Personal (personal stuff like documents, download, etc)
System (the original system mounted here)
The standard directories like /etc, /bin and /lib are hidden through a trick in
fuse-workspace-ll.
I want to extend my fs with Goofs and other Internet services like S3, using
them like a sort of plugins for my "base" fs.
Then I can add another group like:
Internet Services/Goofs ...
S3 ...
So this is because it's easier for me to make my fs use s3fs as plugin.
Otherwise I will have to write it myself.
Another "real" benefit you can get from the lowlevel fs is that it's easier to
write aio read and write (and other calls), using a single thread modes and
epoll in the mainloop. This will improve the responsiveness of your fs. It will
not block other calls while busy doing one.
Stef
Original comment by Stef...@gmail.com
on 3 Dec 2010 at 7:05
Original comment by dmoore4...@gmail.com
on 19 Dec 2010 at 1:19
Stef, I'm not sure how we can act upon your request. Low level to me means
kind of what we are all ready doing: using the S3, curl and fuse API's
s3fs is whole file based. If you meaning a block-level interface, then you
might want to check out s3backer
Original comment by dmoore4...@gmail.com
on 5 Feb 2011 at 1:57
Original comment by dmoore4...@gmail.com
on 26 Feb 2011 at 2:54
Original issue reported on code.google.com by
Stef...@gmail.com
on 3 Dec 2010 at 5:44