On Mon, Jan 09, 2017 at 05:53:03PM +0000, Ankireddypalle Reddy wrote:
> Hi,
>         I am trying to extract the GFID for a file through libgfapi 
> interface. When I try to extract the value of extended attribute 
> glusterfs.gfid through libgfapi I get the errorno: 95.  This works for FUSE 
> though. Is there a way to extract the GFID for a file through libgfapi.

It seems that this is a case where FUSE handles the xatts special. The
glusterfs.gfid and glusterfs.gfid.string (VIRTUAL_GFID_XATTR_KEY and
VIRTUAL_GFID_XATTR_KEY_STR) are specifically handled in
xlators/mount/fuse/src/fuse-bridge.c.

There is a way to get the GFID, but it probably is rather a cumbersome
workaround for you. The handle-API is used heavily by NFS-Ganesha
(because NFS uses filehandles more than filenames), and extracts the
GFID from the 'struct glfs_object' with glfs_h_extract_handle(). A basic
example of how to obtain and extract the handle is in
https://github.com/gluster/glusterfs/blob/master/tests/basic/gfapi/bug1291259.c

Could you explain the need for knowing the GFID in the application? We
can extend gfapi with fetching the GFID if that would help you.

Niels


PS: we have a new integrat...@gluster.org where external projects can
ask gfapi related questions. The gluster-devel list tends to be a little
heavy on traffic for non-Gluster developers.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel

Reply via email to