Skip to content
Switch branches/tags
Go to file

Latest commit

in glusterd_svc_start:
1) synctaskA gets attach_lock and then releases big_lock to execute runner_run.
2) synctaskB then gets big_lock but can not gets attach_lock and then wait.
3) After executes runner_run, synctaskA then gets big_lock but synctaskB holds it, wait.
   This leads to deadlock.

This patch uses runner_run_nowait to avoid the deadlock.

fixes: #2117

Signed-off-by: Zhang Xianwei <>


Failed to load latest commit information.
Latest commit message
Commit time


Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage.


The development workflow is documented in Contributors guide


The Gluster documentation can be found at Gluster Docs.


Quick instructions to build and install can be found in INSTALL file.


GlusterFS source contains some functional tests under tests/ directory. All these tests are run against every patch submitted for review. If you want your patch to be tested, please add a .t test file as part of your patch submission. You can also submit a patch to only add a .t file for the test case you are aware of.

To run these tests, on your test-machine, just run ./ Don't run this on a machine where you have 'production' glusterfs is running, as it would blindly kill all gluster processes in each runs.

If you are sending a patch, and want to validate one or few specific tests, then run a single test by running the below command.

  bash# /bin/bash ${path_to_gluster}/tests/basic/rpc-coverage.t

You can also use prove tool if available in your machine, as follows.

  bash# prove -vmfe '/bin/bash' ${path_to_gluster}/tests/basic/rpc-coverage.t


The list of Gluster maintainers is available in MAINTAINERS file.


Gluster is dual licensed under GPLV2 and LGPLV3+.

Please visit the Gluster Home Page to find out more about Gluster.