path: root/tests/volume.rc
diff options
authorPranith Kumar K <>2017-01-25 15:31:44 +0530
committerPranith Kumar Karampuri <>2017-02-26 22:06:55 -0500
commitc1fc1fc9cb5a13e6ddf8c9270deb0c7609333540 (patch)
treea3876aa8a0c1b087429ba916c9380b90bcda6b72 /tests/volume.rc
parent4638dfc1fee80f9338f2941f3cccb17bec63989a (diff)
cluster/ec: Don't trigger data/metadata heal on Lookups
Problem-1 If Lookup which doesn't take any locks observes version mismatch it can't be trusted. If we launch a heal based on this information it will lead to self-heals which will affect I/O performance in the cases where Lookup is wrong. Considering self-heal-daemon and operations on the inode from client which take locks can still trigger heal we can choose to not attempt a heal on Lookup. Problem-2: Fixed spurious failure of tests/bitrot/bug-1373520.t For the issues above, what was happening was that ec_heal_inspect() is preventing 'name' heal to happen Problem-3: tests/basic/ec/ec-background-heals.t To be honest I don't know what the problem was, while fixing the 2 problems above, I made some changes to ec_heal_inspect() and ec_need_heal() after which when I tried to recreate the spurious failure it just didn't happen even after a long time. BUG: 1414287 Signed-off-by: Pranith Kumar K <> Change-Id: Ife2535e1d0b267712973673f6d474e288f3c6834 Reviewed-on: Smoke: Gluster Build System <> NetBSD-regression: NetBSD Build System <> Reviewed-by: Xavier Hernandez <> CentOS-regression: Gluster Build System <> Reviewed-by: Ashish Pandey <>
Diffstat (limited to 'tests/volume.rc')
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/volume.rc b/tests/volume.rc
index f76f37a..5419e39 100644
--- a/tests/volume.rc
+++ b/tests/volume.rc
@@ -519,6 +519,11 @@ function path_exists {
if [ $? -eq 0 ]; then echo "Y"; else echo "N"; fi
+function path_size {
+ local size=$(stat -c %s $1)
+ if [ $? -eq 0 ]; then echo $size; else echo ""; fi
function force_umount {
${UMOUNT_F} $*
if [ $? -eq 0 ]; then echo "Y"; else echo "N"; fi