Gluster Filesystem - (this is only a public mirror, see the README for contributing)
C Shell Python Perl M4 Makefile Other
Latest commit 2d012c4 Dec 9, 2016 @itisravi itisravi committed with pranithk syncop: fix conditional wait bug in parallel dir scan
Problem:
The issue as seen by the user is detailed in the BZ but what is
happening is if the no. of items in the wait queue == max-qlen,
syncop_mt_dir_scan() does a pthread_cond_wait until the launched
synctask workers dequeue the queue. But if for some reason the worker
fails, the queue is never emptied due to which further invocations of
syncop_mt_dir_scan() are blocked forever.

Fix: Made some changes to _dir_scan_job_fn

- If a worker encounters error while processing an entry, notify the
  readdir loop in syncop_mt_dir_scan() of the error but continue to process
  other entries in the queue, decrementing the qlen as and when we dequeue
  elements, and ending only when the queue is empty.

- If the readdir loop in syncop_mt_dir_scan() gets an error form the
  worker, stop the readdir+queueing of further entries.

Change-Id: I39ce073e01a68c7ff18a0e9227389245a6f75b88
BUG: 1402841
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/16073
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Permalink
Failed to load latest commit information.
api gfapi: glfs_subvol_done should NOT wait for graph migration. Nov 30, 2016
build-aux build: out-of-tree builds generates files in the wrong directory Sep 18, 2016
cli cluster/afr: CLI for granular entry heal enablement/disablement Nov 28, 2016
contrib build: out-of-tree builds generates files in the wrong directory Sep 18, 2016
doc glusterd/cli: cli to get local state representation from glusterd Aug 26, 2016
events eventsapi: Log all published events and provide option to disable log… Dec 8, 2016
extras ganesha/scripts : find export id for already exported volume in S31ga… Dec 8, 2016
geo-replication geo-rep: Do not restart workers when log-rsync-performance config change Dec 8, 2016
glusterfsd glusterfsd : fix null pointer dereference in glusterfs_handle_barrier Dec 8, 2016
heal cluster/afr: CLI for granular entry heal enablement/disablement Nov 28, 2016
libglusterfs syncop: fix conditional wait bug in parallel dir scan Dec 9, 2016
rpc rpc: fix for race between rpc and protocol/client Dec 5, 2016
tests syncop: fix conditional wait bug in parallel dir scan Dec 9, 2016
tools tools/glusterfind: avoid deleting keys directory Dec 8, 2016
xlators cluster/dht: Fix memory corruption while accessing regex stored in Dec 8, 2016
.gitignore eventsapi/packaging: Fix wrong usage of %post Oct 21, 2016
.mailmap scripts: add new email aliases Apr 16, 2014
AUTHORS cleaned up some outdated files Mar 12, 2010
CONTRIBUTING rfc.sh: set 'Change-Id: ' header on first run Aug 15, 2012
COPYING-GPLV2 license: dual license under GPLV2 and LGPLV3+ May 11, 2012
COPYING-LGPLV3 license: dual license under GPLV2 and LGPLV3+ May 11, 2012
ChangeLog Fixed build problems for init script installation. Mar 9, 2009
INSTALL build: Remove systemtap references from source Nov 10, 2015
MAINTAINERS Update maintainers for "QEMU integration" Sep 12, 2016
Makefile.am build: out-of-tree builds generates files in the wrong directory Sep 18, 2016
NEWS news: note the move to gerrit Jul 18, 2011
README.md typo error on github link Sep 7, 2016
THANKS Typo fix THANKS message Sep 16, 2014
autogen.sh build: include a dummy config.sub and config.guess in releases May 24, 2016
configure.ac all: remove dead translators Nov 29, 2016
glusterfs-api.pc.in build: make contrib/uuid dependency optional Apr 10, 2015
glusterfs.spec.in build: Use %{_datadir} rpm macro in spec file Dec 7, 2016
libgfchangelog.pc.in build: make contrib/uuid dependency optional Apr 10, 2015
libgfdb.pc.in build: make contrib/uuid dependency optional Apr 10, 2015
rfc.sh build: move checkpatch.pl to build-aux Sep 12, 2016
run-tests-in-vagrant.sh vagrant-test: added more options and centos6 base box Apr 25, 2016
run-tests.sh tests: fix per-test core detection Apr 7, 2016

README.md