diff options
| author | Soumya Koduri <skoduri@redhat.com> | 2018-10-10 21:37:07 +0530 | 
|---|---|---|
| committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2018-10-18 13:26:29 +0000 | 
| commit | 2f2872b335018a7fa4b61193f2e6404bef8864ed (patch) | |
| tree | 7d0d7cc1c7c0a977ea122b7eaef251baf304afa6 /api/src/glfs-handles.h | |
| parent | fadf0c8dc600c57142b012fea5becf016fa1929e (diff) | |
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 the below mainline patch -
 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.h | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/api/src/glfs-handles.h b/api/src/glfs-handles.h index 97d90a138ac..09b3b2ed493 100644 --- a/api/src/glfs-handles.h +++ b/api/src/glfs-handles.h @@ -336,6 +336,26 @@ glfs_h_lease(glfs_t *fs, glfs_object_t *object, glfs_lease_t *lease) __THROW  glfs_object_t *  glfs_h_find_handle(glfs_t *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 */  | 
