Bug 1016000
| Summary: | Implementation of object handle based gfapi extensions | |||
|---|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Shyamsundar <srangana> | |
| Component: | libgfapi | Assignee: | Ric Wheeler <rwheeler> | |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Sudhir D <sdharane> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | pre-release | CC: | gluster-bugs, rwheeler | |
| Target Milestone: | --- | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | glusterfs-3.5.0 | Doc Type: | Bug Fix | |
| Doc Text: |
Cause:
Current gfapi implementation is path based for entry related operations.
Consequence:
Due to this, consumers that rely on inode like operations or POSIX *at variants (openat, etc.) would not be able to use the API effectively.
Fix:
Added object based APi extensions that operate like the POSIX *at variants.
Result:
Applications like NFS Ganesha integration to Gluster can now make use of these new APIs to provide access to Gluster via the Ganesha NFS implementation.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1021857 (view as bug list) | Environment: | ||
| Last Closed: | 2014-04-17 11:49:14 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
|
Description
Shyamsundar
2013-10-07 09:16:28 UTC
REVIEW: http://review.gluster.org/5936 (gfapi: object handle based API extensions) posted (#6) for review on master by Shyamsundar Ranganathan (srangana) REVIEW: http://review.gluster.org/5936 (gfapi: object handle based API extensions) posted (#7) for review on master by Shyamsundar Ranganathan (srangana) REVIEW: http://review.gluster.org/5936 (gfapi: object handle based API extensions) posted (#8) for review on master by Shyamsundar Ranganathan (srangana) COMMIT: http://review.gluster.org/5936 committed in master by Anand Avati (avati) ------ commit d573f170cf3305c066f8b191f872d2d2f22f2025 Author: R.Shyamsundar <srangana> Date: Mon Sep 16 16:39:24 2013 +0530 gfapi: object handle based API extensions There is an ongoing effort to integrate NFS Ganesha ( https://github.com/nfs-ganesha/nfs-ganesha/wiki ) with GlusterFS as one of the file system back ends. Towards this we need extensions to gfapi that can handle object based operations. Meaning, instead of using full paths or relative paths from cwd, it is required that we can work with APIs, like the *at POSIX variants, to be able to create, lookup, open etc. files and directories. Hence the objects are the files or directories themselves and we give out handles to these objects that can be used for further operations. This code drop is an initial implementation of the proposed APIs. The new APIs are implemented as glfs_h_XXX variants in the file glfs-handleops.c to mirror glfs-fops.c style. The code leverages holding onto inode references and doling these out as opaque/cookie type objects to the callers, to enable them to be used as handles in other operations. An fd based approach was considered, but due to the extra footprint that the fd structure and its counterparts would incur, this was dropped to take the approach of holding inode references themselves. Tested by extending glfsxmp.c to invoke and exercise the added APIs, and further tested with a reference integration of the same as an FSAL with NFS Ganesha. Change-Id: I23629c99e905b54070fa2e6565147812e5f3fa5d BUG: 1016000 Signed-off-by: R.Shyamsundar <srangana> Reviewed-on: http://review.gluster.org/5936 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Anand Avati <avati> This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.5.0, please reopen this bug report. glusterfs-3.5.0 has been announced on the Gluster Developers mailinglist [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137 [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user |