diff options
author | Venky Shankar <vshankar@redhat.com> | 2015-04-24 21:43:25 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-04-26 04:51:28 -0700 |
commit | 7be43338ff292eb9ff43892e05eb83575e66433c (patch) | |
tree | 712259030e7e3baca62487116644f90931b26a36 /libglusterfs | |
parent | 652f5e8bd429ea0e2433e40ccee63ef1cd45baea (diff) |
bitrot/scrub: fix induced throttling in syncop_ftw_throttle()
Failing to reset scanning counter causes "incorrect" delay of around
50 seconds per directory entry. This causes scrubber to run extremely
slowly.
[
NOTE: This is a temporary fix. With the introduction of token
bucket based throttling, inducing throttle via sleep()
call would be unneeded.
]
Also, fix logging messages in scrubber to log brick and full path
of the object which is identified/marked as corrupted.
Change-Id: Id501bd15dcdbd8a09613f80f9d84050304740027
BUG: 1170075
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/10375
Tested-by: NetBSD Build System
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-by: Gaurav Kumar Garg <ggarg@redhat.com>
Diffstat (limited to 'libglusterfs')
-rw-r--r-- | libglusterfs/src/syncop-utils.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libglusterfs/src/syncop-utils.c b/libglusterfs/src/syncop-utils.c index 2f3b50f18cd..349fa92d64f 100644 --- a/libglusterfs/src/syncop-utils.c +++ b/libglusterfs/src/syncop-utils.c @@ -187,8 +187,10 @@ syncop_ftw_throttle (xlator_t *subvol, loc_t *loc, int pid, void *data, !strcmp (entry->d_name, "..")) continue; - if (++tmp >= count) + if (++tmp >= count) { + tmp = 0; sleep (sleep_time); + } gf_link_inode_from_dirent (NULL, fd->inode, entry); |