{"push_id":1450546338,"size":1,"distinct_size":1,"ref":"refs/heads/release-3.8","head":"1d66eb4af160dfa6350410cd6d03e4aa1caf1c53","before":"8a6214578faf91a57faa167fecd16ba76fac630e","commits":[{"sha":"1d66eb4af160dfa6350410cd6d03e4aa1caf1c53","author":{"name":"Ravishankar N","email":"67f30892449d3a69e945b46c702f1af1231877a0@redhat.com"},"message":"syncop: fix conditional wait bug in parallel dir scan\n\nProblem:\nThe issue as seen by the user is detailed in the BZ but what is\nhappening is if the no. of items in the wait queue == max-qlen,\nsyncop_mt_dir_scan() does a pthread_cond_wait until the launched\nsynctask workers dequeue the queue. But if for some reason the worker\nfails, the queue is never emptied due to which further invocations of\nsyncop_mt_dir_scan() are blocked forever.\n\nFix: Made some changes to _dir_scan_job_fn\n\n- If a worker encounters error while processing an entry, notify the\n  readdir loop in syncop_mt_dir_scan() of the error but continue to process\n  other entries in the queue, decrementing the qlen as and when we dequeue\n  elements, and ending only when the queue is empty.\n\n- If the readdir loop in syncop_mt_dir_scan() gets an error form the\n  worker, stop the readdir+queueing of further entries.\n\n> Reviewed-on: http://review.gluster.org/16073\n> Smoke: Gluster Build System <jenkins@build.gluster.org>\n> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>\n> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>\n> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>\n(cherry picked from commit 2d012c4558046afd6adb3992ff88f937c5f835e4)\n\nChange-Id: I39ce073e01a68c7ff18a0e9227389245a6f75b88\nBUG: 1403192\nSigned-off-by: Ravishankar N <ravishankar@redhat.com>\nReviewed-on: http://review.gluster.org/16096\nSmoke: Gluster Build System <jenkins@build.gluster.org>\nNetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>\nCentOS-regression: Gluster Build System <jenkins@build.gluster.org>\nReviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>","distinct":true,"url":"https://api.github.com/repos/anoopcs9/glusterfs/commits/1d66eb4af160dfa6350410cd6d03e4aa1caf1c53"}]}
{"actor":{"display_login":"anoopcs9"}}