diff options
Diffstat (limited to 'libglusterfs/src/stack.h')
-rw-r--r-- | libglusterfs/src/stack.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libglusterfs/src/stack.h b/libglusterfs/src/stack.h index d4941a39f49..0af9ed35991 100644 --- a/libglusterfs/src/stack.h +++ b/libglusterfs/src/stack.h @@ -42,6 +42,7 @@ typedef struct _call_pool_t call_pool_t; #include "list.h" #include "common-utils.h" #include "globals.h" +#include "protocol.h" typedef int32_t (*ret_fn_t) (call_frame_t *frame, @@ -92,6 +93,8 @@ struct _call_stack_t { uid_t uid; gid_t gid; pid_t pid; + uint32_t ngrps; + uint32_t groups[GF_REQUEST_MAXGROUPS]; call_frame_t frames; int32_t op; @@ -253,6 +256,9 @@ copy_frame (call_frame_t *frame) newstack->uid = oldstack->uid; newstack->gid = oldstack->gid; newstack->pid = oldstack->pid; + newstack->ngrps = oldstack->ngrps; + memcpy (newstack->groups, oldstack->groups, + sizeof (uint32_t) * GF_REQUEST_MAXGROUPS); newstack->unique = oldstack->unique; newstack->frames.this = frame->this; |