diff options
author | Junaid <junaid@gluster.com> | 2011-09-07 17:36:09 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2011-09-12 05:23:06 -0700 |
commit | 96ebf45d1d62c6626303727dce3ea5be3000742c (patch) | |
tree | 1e82a99a560e2249de8080be799fcea4a3fe411f /xlators/features/marker/src/marker.h | |
parent | 61fb0ceaecab8d60928e70b8c8af3583b60c6fc6 (diff) |
features/marker-quota: Perform xattr related operations with root permissions in rename fop.
Change-Id: Id9ac1ecdd9753377c9eb24464f51dcbdc0cd2821
BUG: 3194
Reviewed-on: http://review.gluster.com/366
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/features/marker/src/marker.h')
-rw-r--r-- | xlators/features/marker/src/marker.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/xlators/features/marker/src/marker.h b/xlators/features/marker/src/marker.h index c8c77502465..1fc57057c9b 100644 --- a/xlators/features/marker/src/marker.h +++ b/xlators/features/marker/src/marker.h @@ -64,7 +64,7 @@ enum { } \ } while (0) -#define MARKER_SET_UID_GID(dest, src) \ +#define _MARKER_SET_UID_GID(dest, src) \ do { \ if (src->uid != -1 && \ src->gid != -1) { \ @@ -73,6 +73,20 @@ enum { } \ } while (0) +#define MARKER_SET_UID_GID(frame, dest, src) \ + do { \ + _MARKER_SET_UID_GID (dest, src); \ + frame->root->uid = 0; \ + frame->root->gid = 0; \ + frame->cookie = (void *) _GF_UID_GID_CHANGED; \ + } while (0) + +#define MARKER_RESET_UID_GID(frame, dest, src) \ + do { \ + _MARKER_SET_UID_GID (dest, src); \ + frame->cookie = NULL; \ + } while (0) + struct marker_local{ uint32_t timebuf[2]; pid_t pid; |