[Gluster-devel] Newbie general question about the native FUSE client in glusterfs
Federico Strati
strati.federico at gmail.com
Tue May 19 08:32:37 UTC 2020
Dear all,
I just started to work for a company named A3Cube who produces medium
size parallel supercomputers.
I'm a complete newbie in glusterfs and FUSE.
The goal is to optimize performances in gluster using the FUSE native
client as this offers a POSIX interface.
1) Any pointer on optimisation techniques and methods with FUSE would be
appreciated.
The use of libgfapi is ruled out as we must pass via a FUSE mounted
device to have a POSIX interface.
2) I had also a quick look at the gluster code base and I'm puzzled on
how exactly the native FUSE client works.
In particular, from my understanding, the relevant code for FUSE
interaction is in:
/xlators/mount/fuse/src and /contrib/fuse-include, /contrib/fuse-lib,
/contrib/fuse-util
And the interaction is happening opening directly the /dev/fuse file
descriptor, talking to the kernel device FUSE
and NOT using the library libfuse.
Am I wrong? Is the library libfuse used substantially?
3) As far as I can tell gluster uses the 7.24 FUSE kernel interface,
which is quite one of the latest.
FUSE was updated from 2.x to 3.x recently, does gluster uses the latest
libfuse 3.x ?
In summary, any pointer on the architecture and structure of the FUSE
client and interface in gluster would be welcome.
Pardon me my newbie questions (I just started looking at glusterfs).
Thanks in advance
Kind regards
Federico Strati
More information about the Gluster-devel
mailing list