diff options
author | Kotresh HR <khiremat@redhat.com> | 2019-07-29 18:30:42 +0530 |
---|---|---|
committer | hari gowtham <hari.gowtham005@gmail.com> | 2019-09-27 11:34:25 +0000 |
commit | e152f753013f923f95ebdd63ffc4de0cd44221d1 (patch) | |
tree | e56683b303e3929d9aa68e671d63ff1ee8fc4009 /xlators/cluster/ec/src | |
parent | dbf3471f12864b5e716840c25e569407c2fe1c19 (diff) |
ctime/rebalance: Heal ctime xattr on directory during rebalance
After add-brick and rebalance, the ctime xattr is not present
on rebalanced directories on new brick. This patch fixes the
same.
Note that ctime still doesn't support consistent time across
distribute sub-volume.
This patch also fixes the in-memory inconsistency of time attributes
when metadata is self healed.
Backport of:
> Patch: https://review.gluster.org/23127
> Change-Id: Ia20506f1839021bf61d4753191e7dc34b31bb2df
> BUG: 1734026
> Signed-off-by: Kotresh HR <khiremat@redhat.com>
Patch: https://review.gluster.org/23127
Change-Id: Ia20506f1839021bf61d4753191e7dc34b31bb2df
fixes: bz#1752413
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Diffstat (limited to 'xlators/cluster/ec/src')
-rw-r--r-- | xlators/cluster/ec/src/ec-heal.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/xlators/cluster/ec/src/ec-heal.c b/xlators/cluster/ec/src/ec-heal.c index 2fa1f11c5fa..9b716b8c209 100644 --- a/xlators/cluster/ec/src/ec-heal.c +++ b/xlators/cluster/ec/src/ec-heal.c @@ -2301,9 +2301,10 @@ ec_restore_time_and_adjust_versions(call_frame_t *frame, ec_t *ec, fd_t *fd, loc.inode = inode_ref(fd->inode); gf_uuid_copy(loc.gfid, fd->inode->gfid); - ret = cluster_setattr(ec->xl_list, healed_sinks, ec->nodes, replies, - output, frame, ec->xl, &loc, &source_buf, - GF_SET_ATTR_ATIME | GF_SET_ATTR_MTIME, NULL); + ret = cluster_setattr( + ec->xl_list, healed_sinks, ec->nodes, replies, output, frame, + ec->xl, &loc, &source_buf, + GF_SET_ATTR_ATIME | GF_SET_ATTR_MTIME | GF_SET_ATTR_CTIME, NULL); EC_INTERSECT(healed_sinks, healed_sinks, output, ec->nodes); if (EC_COUNT(healed_sinks, ec->nodes) == 0) { ret = -ENOTCONN; |