[Gluster-devel] FW: GlusterFS native api

Niels de Vos ndevos at redhat.com
Mon Oct 24 07:47:28 UTC 2016


> On Wed, Oct 19, 2016 at 9:31 PM, Simon Turcotte-Langevin <simon.turcotte-langevin at ubisoft.com<mailto:simon.turcotte-langevin at ubisoft.com>> wrote:
> Hello Pranith,
> 
> We’re still investigating possible optimizations to our platform, and
> we were wondering: is the fuse translator very slow compared to native
> glusterfs operations?
> Since we’re using a subset of operations available through fuse, we
> could create an abstraction layer from gluster’s native api instead of
> relying on a fuse mount. Would that increase our performance/stability
> by a lot?

Hello Simon,

We offer a shared library that other applications can use to talk to the
Gluster Volumes. This (C) library is called libgfapi.so and can be
installed with the glusterfs-api RPM (or similar for other
distributions). The interface is described in it's main header file [0]
from the glusterfs-api-devel RPM.

The glusterfs sources have a few examples [1] and small applications for
regression testing [2][3]. There are also several projects that use the
library, you cool look at those for examples as well:
 - glusterfs-coreutils [4]
 - Samba/vfs_glusterfs [5]
 - NFS-Ganesha/FSAL_GLUSTER [6]

Under the Gluster organization in GitHub you can find bindings to
different languages [7].

If you exaplain a litte more about the application that could use
libgfapi for accessing Gluster, we can advise you on how we'd
approach/design the access interface. Important information includes
access patterns, i/o operations and muti-process/threading needs.

HTH,
Niels


0. https://github.com/gluster/glusterfs/blob/master/api/src/glfs.h
1. https://github.com/gluster/glusterfs/blob/master/api/examples/glfsxmp.c
2. https://github.com/gluster/glusterfs/tree/master/tests/basic/gfapi
3. https://github.com/gluster/glusterfs/tree/master/tests/bugs/gfapi
4. https://github.com/gluster/glusterfs-coreutils
5. https://git.samba.org/?p=samba.git;a=blob;f=source3/modules/vfs_glusterfs.c;hb=HEAD
6. https://github.com/nfs-ganesha/nfs-ganesha/tree/next/src/FSAL/FSAL_GLUSTER
7. https://github.com/gluster/?query=api
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20161024/0ef7f3e2/attachment.sig>


More information about the Gluster-devel mailing list