diff options
author | Kotresh HR <khiremat@redhat.com> | 2016-04-29 17:45:31 +0530 |
---|---|---|
committer | Venky Shankar <vshankar@redhat.com> | 2016-05-19 23:18:25 -0700 |
commit | e63049cba0f2b94b0b082cc8bfd5921b8443ef45 (patch) | |
tree | 90037fc5942b63cddcfda8ecec6e7d6b8cd5b015 /xlators/mgmt/glusterd/src | |
parent | 2e2ef4f833abe28f7895ea022654aac74e353702 (diff) |
features/bitrot: Introduce scrubber monitor thread
The patch does following changes.
1. Introduce scrubber monitor thread.
2. Move scrub status related APIs to separate file
and make part of libbitrot library.
Problem:
Earlier, each child of the scrubber was maintaining
the state machine and hence there was no way to track
the start and end time of scrubbing as each brick has
it's own start and end time. Also each brick was maintaining
it's own timer wheel instance. It was also not possible
to get scrubbed files count per session as we could not
get last child which finishes scrubbing to reset it to
zero.
Solution:
Introduce scrubber monitor thread. It does following.
1. Maintains the scrubber state machine. Earlier each
child had it's own state machine. Now, only monitor
maintains on behalf of all it's children.
2. Maintains the timer wheel instance. Earlier each
child had it's own timer wheel instance. Now, only
monitor maintains on behalf of all it's children.
As a result, we can track the scrub statistics easily
and correctly.
Upstream master:
http://review.gluster.org/14044
http://review.gluster.org/#/c/14146
Upstream 3.7:
http://review.gluster.org/14140
NOTE: The patch #14146 is a compilation warning not detected
in master branch and detected only in 3.7 branch. Since the
compilation warning is introduced by patch #14044, the above
two backports are made into this single patch in 3.7 and the
same is backported to 3.8.
BUG: 1332839
Change-Id: I1cec0b229c851fec793a1288c23e43bcec755cba
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-on: http://review.gluster.org/14201
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src')
0 files changed, 0 insertions, 0 deletions