diff options
author | Junaid <junaid@gluster.com> | 2011-07-25 14:59:25 +0530 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-07-29 01:18:30 -0700 |
commit | bc16882a04baaac214f1b41598827038e8872363 (patch) | |
tree | 50cc6590cb37f2679e582d85470d13b6bc1ef977 /xlators/features/marker/src/marker.h | |
parent | bed25e47ee047d2f3af1120ee66f17147171bd6e (diff) |
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 <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <raghavendra@gluster.com>
Diffstat (limited to 'xlators/features/marker/src/marker.h')
-rw-r--r-- | xlators/features/marker/src/marker.h | 13 |
1 files changed, 13 insertions, 0 deletions
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; |