diff options
Diffstat (limited to 'api/src/glfs-internal.h')
-rw-r--r-- | api/src/glfs-internal.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/api/src/glfs-internal.h b/api/src/glfs-internal.h index 145509c3caf..788c6b00545 100644 --- a/api/src/glfs-internal.h +++ b/api/src/glfs-internal.h @@ -213,6 +213,7 @@ enum glfs_fd_state { struct glfs_fd { struct list_head openfds; + struct list_head list; GF_REF_DECL; struct glfs *fs; enum glfs_fd_state state; @@ -224,6 +225,8 @@ struct glfs_fd { gf_lkowner_t lk_owner; glfs_leaseid_t lease_id; /* Stores lease_id of client in glfd */ gf_lock_t lock; /* lock taken before updating fd state */ + glfs_recall_cbk cbk; + void *cookie; }; /* glfs object handle introduced for the alternate gfapi implementation based @@ -254,6 +257,16 @@ struct glfs_upcall_inode { struct stat oldp_buf; /* Latest stat of old parent dir handle */ }; +struct glfs_upcall_lease { + struct glfs_object *object; /* Object which need to be acted upon */ + uint32_t lease_type; /* Lease type to which client can downgrade to*/ +}; + +struct glfs_upcall_lease_fd { + uint32_t lease_type; /* Lease type to which client can downgrade to*/ + void *fd_cookie; /* Object which need to be acted upon */ +}; + struct glfs_xreaddirp_stat { struct stat st; /* Stat for that dirent - corresponds to GFAPI_XREADDIRP_STAT */ struct glfs_object *object; /* handled for GFAPI_XREADDIRP_HANDLE */ @@ -614,4 +627,16 @@ void glfs_lease_to_gf_lease (struct glfs_lease *lease, struct gf_lease *gf_lease); void glfs_release_upcall (void *ptr); + +int +get_fop_attr_glfd (dict_t **fop_attr, struct glfs_fd *glfd); + +int +set_fop_attr_glfd (struct glfs_fd *glfd); + +int +get_fop_attr_thrd_key (dict_t **fop_attr); + +void +unset_fop_attr (dict_t **fop_attr); #endif /* !_GLFS_INTERNAL_H */ |