diff options
author | Kotresh HR <khiremat@redhat.com> | 2019-08-08 10:05:12 +0530 |
---|---|---|
committer | Kotresh HR <khiremat@redhat.com> | 2019-08-27 18:25:52 +0000 |
commit | 6ec6db07da2761a35e003ff485f66bae2037c442 (patch) | |
tree | ab2e03b1089a5996c712ee73fdfb5fb04f88f830 /xlators/features | |
parent | f2123cc691c3ed16177b3c30468615127fb2086a (diff) |
ctime: Fix ctime issue with utime family of syscalls
When atime|mtime is updated via utime family of syscalls,
ctime is not updated. This patch fixes the same.
Backport of:
> Patch: https://review.gluster.org/23177/
> Change-Id: I7f86d8f8a1e06a332c3449b5bbdbf128c9690f25
> BUG: 1738786
> Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit 95f71df31dc73d85df722b0e7d3a7eb1e0237e7f)
Change-Id: I7f86d8f8a1e06a332c3449b5bbdbf128c9690f25
fixes: bz#1746142
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Diffstat (limited to 'xlators/features')
-rwxr-xr-x | xlators/features/utime/src/utime-gen-fops-c.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/xlators/features/utime/src/utime-gen-fops-c.py b/xlators/features/utime/src/utime-gen-fops-c.py index a8637ffe6f6..8730a51d13e 100755 --- a/xlators/features/utime/src/utime-gen-fops-c.py +++ b/xlators/features/utime/src/utime-gen-fops-c.py @@ -82,7 +82,18 @@ gf_utime_@NAME@ (call_frame_t *frame, xlator_t *this, @LONG_ARGS@) { gl_timespec_get(&frame->root->ctime); - frame->root->flags |= MDATA_CTIME; + + if (!valid) { + frame->root->flags |= MDATA_CTIME; + } + + if (valid & (GF_SET_ATTR_UID | GF_SET_ATTR_GID)) { + frame->root->flags |= MDATA_CTIME; + } + + if (valid & GF_SET_ATTR_MODE) { + frame->root->flags |= MDATA_CTIME; + } STACK_WIND (frame, gf_utime_@NAME@_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->@NAME@, @SHORT_ARGS@); |