From ea8d9ebafa4a6afb99721022e638292fd475ed62 Mon Sep 17 00:00:00 2001 From: Soumya Koduri Date: Mon, 30 Mar 2015 16:56:59 +0530 Subject: Upcall: Process each of the upcall events separately As suggested during the code-review of Bug1200262, have modified GF_CBK_UPCALL to be exlusively GF_CBK_CACHE_INVALIDATION. Thus, for any new upcall event, a new CBK procedure will be added. Also made changes to store upcall data separately based on the upcall event type received. BUG: 1217711 Change-Id: I0f5e53d6f5ece16aecb514a0a426dca40fa1c755 Signed-off-by: Soumya Koduri Reviewed-on: http://review.gluster.org/10049 Reviewed-by: Kaleb KEITHLEY Reviewed-on: http://review.gluster.org/10562 Tested-by: NetBSD Build System Tested-by: Gluster Build System --- libglusterfs/src/glusterfs.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'libglusterfs') diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h index f6c10e99ef9..78398310a39 100644 --- a/libglusterfs/src/glusterfs.h +++ b/libglusterfs/src/glusterfs.h @@ -37,6 +37,7 @@ #include "list.h" #include "logging.h" #include "lkowner.h" +#include "compat-uuid.h" #define GF_YES 1 #define GF_NO 0 @@ -369,6 +370,11 @@ typedef enum { } gf_xattrop_flags_t; +typedef enum { + GF_UPCALL_EVENT_NULL, + GF_UPCALL_CACHE_INVALIDATION, +} gf_upcall_event_t; + #define GF_SET_IF_NOT_PRESENT 0x1 /* default behaviour */ #define GF_SET_OVERWRITE 0x2 /* Overwrite with the buf given */ #define GF_SET_DIR_ONLY 0x4 @@ -608,9 +614,13 @@ struct gf_flock { }; struct gf_upcall { - char *client_uid; - char gfid[16]; - u_int event_type; + char *client_uid; + uuid_t gfid; + u_int event_type; + void *data; +}; + +struct gf_upcall_cache_invalidation { u_int flags; u_int expire_time_attr; }; -- cgit