diff options
author | Xavi Hernandez <xhernandez@redhat.com> | 2018-10-31 12:26:43 +0100 |
---|---|---|
committer | Xavi Hernandez <xhernandez@redhat.com> | 2018-10-31 12:50:32 +0100 |
commit | 7150c51ad75ccba22045a35fc31e5037612d1ad4 (patch) | |
tree | d2f27d8b857c5450c87a76f9a8c8c6a7462cb793 /libglusterfs | |
parent | d2d3c37fa8efca74e375b8a0dc7fa720c3b84dcc (diff) |
cluster/ec: prevent infinite loop in self-heal full
There was a problem in commit 7f81067 that caused infinite loop when
full heal was triggered.
The previous commit was made to prevent self-heal to go idle after a
replace brick operation. One of the changes consisted on setting a
flag to force an immediate scan of the dirty directory if a heal on
a directory succeeded (assuming it could have generated newer entries).
However that change was causing an issue with a full self-heal, since
every time an already healed directory was checked and it returned
suceessfully, it was also setting the flag, forcing self-heal to start
over again.
This patch fixes this issue by only setting the flag if the heal is not
full. It's assumed that a full self-heal will already traverse all
entries automatically, so there's no need to force a new scan later.
Change-Id: Id12dbfc04e622b18183e796cc6cc87ccc30a6d55
fixes: bz#1636631
Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
Diffstat (limited to 'libglusterfs')
0 files changed, 0 insertions, 0 deletions