summaryrefslogtreecommitdiffstats
path: root/api/src/glfs-handles.h
diff options
context:
space:
mode:
authorSoumya Koduri <skoduri@redhat.com>2018-10-10 21:37:07 +0530
committerSoumya Koduri <skoduri@redhat.com>2018-10-22 22:06:03 +0530
commitfa4710bb8fbc852971d763d8727e3755436ea9c8 (patch)
treeae1a24de2d7afd5fdef30e188a3c82515be44ee9 /api/src/glfs-handles.h
parentb63dfd84fc8b3e08e3f005f71bf493c633452612 (diff)
downloadglusterfs-fa4710bb8fbc852971d763d8727e3755436ea9c8.tar.gz
glusterfs-fa4710bb8fbc852971d763d8727e3755436ea9c8.tar.xz
glusterfs-fa4710bb8fbc852971d763d8727e3755436ea9c8.zip
gfapi: Bug fixes in leases processing code-path
This patch fixes below issues in gfapi lease code-path * 'glfs_setfsleasid' should allow NULL input to be able to reset leaseid * Applications should be allowed to (un)register for upcall notifications of type GLFS_EVENT_LEASE_RECALL * APIs added to read contents of GLFS_EVENT_LEASE_RECALL argument which is of type "struct glfs_upcall_lease" This is backport of below mainline path - https://review.gluster.org/#/c/glusterfs/+/21391 Change-Id: I3320ddf235cc82fad561e13b9457ebd64db6c76b updates: #350 Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Diffstat (limited to 'api/src/glfs-handles.h')
-rw-r--r--api/src/glfs-handles.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/api/src/glfs-handles.h b/api/src/glfs-handles.h
index 58ef85a9f4..6dfb027a9a 100644
--- a/api/src/glfs-handles.h
+++ b/api/src/glfs-handles.h
@@ -337,6 +337,26 @@ struct glfs_object *
glfs_h_find_handle (struct glfs *fs, unsigned char *handle,
int len) __THROW
GFAPI_PUBLIC(glfs_h_lease, 4.0.0);
+
+/* Functions for getting details about the glfs_upcall_lease
+ *
+ * None of the pointers returned by the below functions should be free()'d,
+ * glfs_free()'d or glfs_h_close()'d by the application.
+ *
+ * Releasing of the structures is done by passing the glfs_upcall pointer
+ * to glfs_free().
+ */
+struct glfs_upcall_lease;
+typedef struct glfs_upcall_lease glfs_upcall_lease_t;
+
+glfs_object_t *
+glfs_upcall_lease_get_object(glfs_upcall_lease_t *arg) __THROW
+ GFAPI_PUBLIC(glfs_upcall_lease_get_object, 4.1.6);
+
+uint32_t
+glfs_upcall_lease_get_lease_type(glfs_upcall_lease_t *arg) __THROW
+ GFAPI_PUBLIC(glfs_upcall_lease_get_lease_type, 4.1.6);
+
__END_DECLS
#endif /* !_GLFS_HANDLES_H */