Krutika Dhananjay ceac3b4172 afr, index: Clean up stale directory and file indices in granular entry sh
Specifically when a directory tree is removed (rm -rf)
while a brick is down, both the directory index and the
name indices of the files and subdirs under it will remain.
Self-heal will need to pick up these and remove them.

Towards this, afr sh will now also crawl indices/entry-changes
and call an rmdir on the dir if the directory index is stale.

On the brick side, rmdir fop has been implemented for index xl,
which would delete the directory index and its contents if present
in a synctask.

Change-Id: I8b527331c2547e6c141db6c57c14055ad1198a7e
BUG: 1331323
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/14832
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
2016-07-11 23:13:53 -07:00
..
2016-07-11 07:04:56 -07:00
2015-09-01 04:55:15 -07:00
2015-05-26 08:12:50 -07:00
2016-07-11 06:33:38 -07:00
2016-07-11 06:33:38 -07:00
2015-06-09 06:24:47 -07:00

Regression tests framework for GlusterFS

Prereq

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

Prereq for geo-rep regression tests.

How-To

  • 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.

Usage

  • Execute /usr/share/glusterfs/run-tests.sh as root.

  • If you want to run individual tests located in /usr/share/glusterfs/tests as opposed to the full test-suite, invoke it as /usr/share/glusterfs/run-tests.sh [pattern]*, where pattern can be:

    • the trailing parts of the full path of a test, e.g. tests/basic/mount.t
    • the name of a file or directory, e.g self-heal.t or basic/
    • bug number, which will match against numbered bugs in the tests/bugs/ directory.
    • a glob pattern (see man 7 glob for mor info on globs)
  • To execute single ".t" file, use "prove -vf /path/to/.t"

  • If some test cases fail, report to GlusterFS community at gluster-devel@gluster.org.

Reminder

  • BE WARNED THAT THE TEST CASES DELETE GLUSTERD_WORKDIR * !!!