From bc16882a04baaac214f1b41598827038e8872363 Mon Sep 17 00:00:00 2001 From: Junaid Date: Mon, 25 Jul 2011 14:59:25 +0530 Subject: features/marker-quota: Perform removexattr with frame uid and gid set to root. Change-Id: Iabd8ff835c76d828e4af50ce4941d2ff86797eee BUG: 3194 Reviewed-on: http://review.gluster.com/98 Tested-by: Gluster Build System Reviewed-by: Raghavendra G --- xlators/features/marker/src/marker.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'xlators/features/marker/src/marker.h') diff --git a/xlators/features/marker/src/marker.h b/xlators/features/marker/src/marker.h index a5a435e3b44..3e19902789b 100644 --- a/xlators/features/marker/src/marker.h +++ b/xlators/features/marker/src/marker.h @@ -47,6 +47,8 @@ enum { _local->pid = _frame->root->pid; \ memset (&_local->loc, 0, sizeof (loc_t)); \ _local->ref = 1; \ + _local->uid = -1; \ + _local->gid = -1; \ LOCK_INIT (&_local->lock); \ _local->oplocal = NULL; \ } while (0) @@ -62,12 +64,23 @@ enum { } \ } while (0) +#define MARKER_SET_UID_GID(dest, src) \ + do { \ + if (src->uid != -1 && \ + src->gid != -1) { \ + dest->uid = src->uid; \ + dest->gid = src->gid; \ + } \ + } while (0) + struct marker_local{ uint32_t timebuf[2]; pid_t pid; loc_t loc; loc_t parent_loc; loc_t *next_lock_on; + uid_t uid; + gid_t gid; int32_t ref; int32_t ia_nlink; gf_lock_t lock; -- cgit