summaryrefslogtreecommitdiffstats
path: root/xlators/features/upcall/src
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/features/upcall/src')
-rw-r--r--xlators/features/upcall/src/upcall-internal.c2
-rw-r--r--xlators/features/upcall/src/upcall.c12
-rw-r--r--xlators/features/upcall/src/upcall.h8
3 files changed, 9 insertions, 13 deletions
diff --git a/xlators/features/upcall/src/upcall-internal.c b/xlators/features/upcall/src/upcall-internal.c
index 29c387601f9..f4b308c1dca 100644
--- a/xlators/features/upcall/src/upcall-internal.c
+++ b/xlators/features/upcall/src/upcall-internal.c
@@ -423,7 +423,7 @@ upcall_client_cache_invalidate (xlator_t *this, uuid_t gfid,
/* Send notify call */
gf_uuid_copy(n_event_data.gfid, gfid);
n_event_data.client_entry = up_client_entry;
- n_event_data.event_type = CACHE_INVALIDATION;
+ n_event_data.event_type = GF_UPCALL_CACHE_INVALIDATION;
n_event_data.invalidate_flags = flags;
/* Need to send inode flags */
diff --git a/xlators/features/upcall/src/upcall.c b/xlators/features/upcall/src/upcall.c
index 93861e7955f..21f8e0ba339 100644
--- a/xlators/features/upcall/src/upcall.c
+++ b/xlators/features/upcall/src/upcall.c
@@ -887,6 +887,7 @@ notify (xlator_t *this, int32_t event, void *data, ...)
notify_event_data_t *notify_event = NULL;
struct gf_upcall up_req = {0,};
upcall_client_t *up_client_entry = NULL;
+ struct gf_upcall_cache_invalidation ca_req = {0,};
switch (event) {
case GF_EVENT_UPCALL:
@@ -903,16 +904,17 @@ notify (xlator_t *this, int32_t event, void *data, ...)
up_req.client_uid = up_client_entry->client_uid;
- memcpy (up_req.gfid, notify_event->gfid, 16);
+ gf_uuid_copy (up_req.gfid, notify_event->gfid);
gf_log (this->name, GF_LOG_DEBUG,
"Sending notify to the client- %s, gfid - %s",
up_client_entry->client_uid, up_req.gfid);
switch (notify_event->event_type) {
- case CACHE_INVALIDATION:
- GF_ASSERT (notify_event->extra);
- up_req.flags = notify_event->invalidate_flags;
- up_req.expire_time_attr = up_client_entry->expire_time_attr;
+ case GF_UPCALL_CACHE_INVALIDATION:
+ ca_req.flags = notify_event->invalidate_flags;
+ ca_req.expire_time_attr =
+ up_client_entry->expire_time_attr;
+ up_req.data = &ca_req;
break;
default:
goto out;
diff --git a/xlators/features/upcall/src/upcall.h b/xlators/features/upcall/src/upcall.h
index 7cbec22bbf2..3994c2648f4 100644
--- a/xlators/features/upcall/src/upcall.h
+++ b/xlators/features/upcall/src/upcall.h
@@ -59,12 +59,6 @@ struct _upcall_private_t {
};
typedef struct _upcall_private_t upcall_private_t;
-enum _upcall_event_type_t {
- EVENT_NULL,
- CACHE_INVALIDATION,
-};
-typedef enum _upcall_event_type_t upcall_event_type_t;
-
struct _upcall_client_t {
struct list_head client_list;
/* strdup to store client_uid, strdup. Free it explicitly */
@@ -86,7 +80,7 @@ typedef struct _upcall_inode_ctx_t upcall_inode_ctx_t;
struct _notify_event_data {
uuid_t gfid;
upcall_client_t *client_entry;
- upcall_event_type_t event_type;
+ gf_upcall_event_t event_type;
uint32_t invalidate_flags;
/* any extra data needed, like inode flags
* to be invalidated incase of cache invalidation,