From d0e7177416be3005b3f092addf0bba4dd9dc7a2d Mon Sep 17 00:00:00 2001 From: Varsha Rao Date: Mon, 12 Feb 2018 10:37:15 +0530 Subject: xlators/features/namespace: Add namespace xlator and link into brick graph The following release-3.8-fb branch patch is upstreamed: > features/namespace: Add namespace xlator and link into brick graph > Commit ID: dbd30776f26e > https://review.gluster.org/#/c/18041/ > By Michael Goulet Changes in this patch: Removes extra config.h and namespace.h file in namespace.c Adds default_getspec_cbk to libglusterfs.sym Rename dict_for_each to dict_foreach_inline Remove fd.h header file stack.h Add test case for truncate, open and symlink This patch is required to forward port io-threads namespace patch. Updates: #401 Change-Id: Ib88c95b89eecee9b8957df8a4c8712c899c761d1 Signed-off-by: Varsha Rao --- libglusterfs/src/dict.h | 2 +- libglusterfs/src/libglusterfs.sym | 1 + libglusterfs/src/stack.h | 9 +++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'libglusterfs') diff --git a/libglusterfs/src/dict.h b/libglusterfs/src/dict.h index 1ce055a5940..e481330d6b5 100644 --- a/libglusterfs/src/dict.h +++ b/libglusterfs/src/dict.h @@ -62,7 +62,7 @@ typedef struct _data_pair data_pair_t; #define DICT_KEY_VALUE_MAX_SIZE 1048576 -#define dict_for_each(d, c) for (c = d->members_list; c; c = c->next) +#define dict_foreach_inline(d, c) for (c = d->members_list; c; c = c->next) struct _data { unsigned char is_static:1; diff --git a/libglusterfs/src/libglusterfs.sym b/libglusterfs/src/libglusterfs.sym index b8dc496421c..c3d2e72527b 100644 --- a/libglusterfs/src/libglusterfs.sym +++ b/libglusterfs/src/libglusterfs.sym @@ -221,6 +221,7 @@ default_getactivelk default_getactivelk_failure_cbk default_getactivelk_resume default_getspec +default_getspec_cbk default_getxattr default_getxattr_cbk default_getxattr_failure_cbk diff --git a/libglusterfs/src/stack.h b/libglusterfs/src/stack.h index 4a3a788f5ee..e7d0b3ff7f4 100644 --- a/libglusterfs/src/stack.h +++ b/libglusterfs/src/stack.h @@ -83,6 +83,13 @@ struct _call_frame { const char *unwind_to; }; +struct _ns_info { + uint32_t hash; /* Hash of the namespace from SuperFastHash */ + gf_boolean_t found; /* Set to true if we found a namespace */ +}; + +typedef struct _ns_info ns_info_t; + #define SMALL_GROUP_COUNT 128 struct _call_stack { @@ -122,6 +129,8 @@ struct _call_stack { send information over the wire too */ struct timespec ctime; /* timestamp, most probably set at creation of stack. */ + + ns_info_t ns_info; }; -- cgit