Description of problem: =========================== Bitrot file crawling is too slow Version-Release number of selected component (if applicable): ================================================================== glusterfs-server-3.7dev-0.1009.git8b987be.el6.x86_64 How reproducible: ====================== Always Steps to Reproduce: 1.Create volume with one brick and create 100k files on the volume 2.After some time add one more brick and do rebalance 3.After rebalance bitrot is crawling the bricks but it is crawling one file per min Expected results: ====================== We need to optimise the crawling based on the system resouces avilability Additional info: [root@rhs-client38 rajesh_snapshot]# strace -s 250 -tt -e open,close,getdents -f -p 30343 Process 30343 attached with 24 threads - interrupt to quit [pid 30583] 12:20:26.218247 open("/pavanbrick1/rajesh_snapshot/.glusterfs/f5/21/f521be5f-733a-4b62-a8de-cd4aab9d0e4c", O_RDWR) = 34 [pid 30357] 12:20:26.221952 close(34) = 0 [pid 30356] 12:20:28.818774 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:20:28.819006 close(34) = 0 [pid 30356] 12:20:58.819232 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:20:58.819482 close(34) = 0 [pid 30601] 12:21:26.225473 open("/pavanbrick1/rajesh_snapshot/.glusterfs/25/09/25094c22-b201-4bdf-97b2-fcef7da3c72e", O_RDWR) = 34 [pid 30357] 12:21:26.228372 close(34) = 0 [pid 30356] 12:21:28.819714 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:21:28.819946 close(34) = 0 [pid 30356] 12:21:58.820147 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:21:58.820398 close(34) = 0 [pid 30351] 12:22:26.232470 open("/pavanbrick1/rajesh_snapshot/.glusterfs/64/5f/645f7641-d8b7-416f-b659-93a70ed9dbf7", O_RDWR) = 34 [pid 30357] 12:22:26.235462 open("/pavanbrick1/rajesh_snapshot/.glusterfs/landfill", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 35 [pid 30357] 12:22:26.235571 getdents(35, /* 2 entries */, 32768) = 48 [pid 30357] 12:22:26.235671 getdents(35, /* 0 entries */, 32768) = 0 [pid 30357] 12:22:26.235748 close(35) = 0 [pid 30357] 12:22:26.235906 close(34) = 0 [pid 30356] 12:22:28.820625 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:22:28.820841 close(34) = 0 [pid 30356] 12:22:58.821067 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:22:58.821284 close(34) = 0 [pid 30601] 12:23:26.238836 open("/pavanbrick1/rajesh_snapshot/.glusterfs/12/d0/12d05f24-a61e-4e00-a77a-1900c701686a", O_RDWR) = 34 [pid 30357] 12:23:26.241880 close(34) = 0 [pid 30356] 12:23:28.821488 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:23:28.821743 close(34) = 0 [pid 30356] 12:23:58.821967 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:23:58.822190 close(34) = 0 [pid 30583] 12:24:26.245770 open("/pavanbrick1/rajesh_snapshot/.glusterfs/ea/d3/ead3c047-1317-43ce-a021-3548e3a4f84e", O_RDWR) = 34 [pid 30357] 12:24:26.248618 close(34) = 0 [pid 30356] 12:24:28.822393 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:24:28.822687 close(34) = 0 [pid 30356] 12:24:58.822882 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:24:58.823130 close(34) = 0 [pid 30601] 12:25:26.252417 open("/pavanbrick1/rajesh_snapshot/.glusterfs/fd/c1/fdc16026-7c95-4777-b49d-d9551c4c48e8", O_RDWR) = 34 [pid 30357] 12:25:26.256171 close(34) = 0 [pid 30356] 12:25:28.823367 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:25:28.823615 close(34) = 0 [pid 30356] 12:25:58.823843 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:25:58.824062 close(34) = 0 [pid 30583] 12:26:26.259865 open("/pavanbrick1/rajesh_snapshot/.glusterfs/97/b6/97b6e87f-47aa-4f40-9230-c1283f0391d4", O_RDWR) = 34 [pid 30357] 12:26:26.262834 close(34) = 0 [pid 30356] 12:26:28.824251 open("/pavanbrick1/rajesh_snapshot/.glusterfs/health_check", O_RDWR|O_CREAT, 0644) = 34 [pid 30356] 12:26:28.824450 close(34) = 0
patch http://review.gluster.org/#/c/10375/ fixes this issue.