glusterfs/tests
Krishnan Parthasarathi dcebed550e glusterd: Avoided deadlock in single node cluster, glusterd restart
In a single node cluster, it is possible to deadlock on the "big
lock", while restarting bricks. In glusterd_restart_bricks, we perform a
glusterd_brick_connect, where we release the big lock in anticipation
that glusterd_brick_rpc_notify could run in the same C stack (and
deadlocking). So, in the restart code path, we could unlock before we
have performed a lock on the big lock.

To fix this, we need to take the big lock in the
glusterd_launch_synctask 'thread' as well.

Change-Id: I1abea1ca82b55c784b8a810a8194f254b32b1dcc
BUG: 948686
Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-on: http://review.gluster.org/4837
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
2013-04-16 10:42:51 -07:00
..
basic features/quota: regression tests on general functionality of quota 2013-03-11 14:00:33 -07:00
bugs glusterd: Avoided deadlock in single node cluster, glusterd restart 2013-04-16 10:42:51 -07:00
performance performance/open-behind: use anonymous fd for doing fstat and readv 2013-02-19 16:07:21 -08:00
utils glusterd, cli: Task id's for async tasks 2012-12-19 13:32:49 -08:00
cluster.rc tests/cluster.rc: support for virtual multi-server glusterd tests 2013-02-26 09:07:13 -08:00
dht.rc cluster/distribute: Ignore non-participating subvols for layout checks 2013-04-09 12:49:40 -07:00
fileio.rc tests/fileio.rc: library for file descriptor based IO in tests 2013-02-21 23:26:57 -08:00
include.rc glusterd: Removed fd leaks in glusterfs_start utility function 2013-03-25 14:50:53 -07:00
README tests/README: add a note about usage of 'mount -t glusterfs' 2012-11-29 22:01:25 -08:00
volume.rc Tests: Change rebalance status verification 2013-04-02 19:05:36 -07:00

How to use test script framework.
=================================

- Build and install the version of glusterfs with your changes. Make
  sure the installed version is accessible from $PATH.

- To mount glusterfs, NEVER use 'mount -t glusterfs', instead use
  'glusterfs -s ' method. This is because with the patch build setup
  doesnot install the /sbin/mount.glusterfs necessary, where as the
  glusterfs binary will be accessible with $PATH, and will pick the
  right version.

- (optional) Set environment variables to specify location of
  export directories and mount points. Unless you have special
  requirements, the defaults should just work. The variables
  themselves can be found at the top of tests/include.rc. All
  of them can be overriden with environment variables.

- Execute run-tests.sh in the top level directory as root.

- If some test cases fail, you can execute the failed test case script
  directly bypassing run-tests.sh. At this time it might be
  useful to set the envrionment variable DEBUG=1 before running
  the individual test script directly by hand.

- BE WARNED THAT THE TEST CASES DELETE /var/lib/glusterd/* !!!