summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/common-utils.h1
-rw-r--r--libglusterfs/src/upcall-utils.h15
2 files changed, 14 insertions, 2 deletions
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h
index 86ea42ee849..9b07e8c7565 100644
--- a/libglusterfs/src/common-utils.h
+++ b/libglusterfs/src/common-utils.h
@@ -125,6 +125,7 @@ enum _gf_client_pid
enum _gf_xlator_ipc_targets {
GF_IPC_TARGET_CHANGELOG = 0,
+ GF_IPC_UPCALL_FEATURES = 1,
};
typedef enum _gf_boolean gf_boolean_t;
diff --git a/libglusterfs/src/upcall-utils.h b/libglusterfs/src/upcall-utils.h
index 001566fd85e..5f6970fe7e1 100644
--- a/libglusterfs/src/upcall-utils.h
+++ b/libglusterfs/src/upcall-utils.h
@@ -15,9 +15,20 @@
#include "compat-uuid.h"
#include "compat.h"
+/* Used by GF_IPC_UPCALL_FEATURES in the ipc() FOP.
+ *
+ * Each feature is a bit in the uint32_t, this likely will match all the events
+ * from the gf_upcall_event_t enum.
+ *
+ * When the bit for GF_UPCALL_EVENT_NULL is not set, upcall is loaded, but
+ * disabled.
+ */
+#define GF_UPCALL_FEATURES "gluster.upcall.features"
+
typedef enum {
- GF_UPCALL_EVENT_NULL,
- GF_UPCALL_CACHE_INVALIDATION,
+ GF_UPCALL_EVENT_NULL = 0,
+ GF_UPCALL_CACHE_INVALIDATION = 1,
+ /* add new events to the feature mask in up_ipc() */
} gf_upcall_event_t;
struct gf_upcall {