path: root/tests
diff options
authorRaghavendra G <>2016-04-01 15:16:23 +0530
committerRaghavendra G <>2016-04-22 10:28:54 -0700
commit823bda0f28cba1b0632d99a22cdecaee16c6db56 (patch)
tree46a46286216149253d5626af05bae66804096ea7 /tests
parent8f3ad1e3ede77fa5f8c8d606e18a7e83865a822c (diff)
cluster/distribute: detect stale layouts in entry fops
dht_mkdir () { first-hashed-subvol = hashed-subvol for "bname" in in-memory layout of "parent"; inodelk (SETLKW, parent, "LAYOUT_HEAL_DOMAIN", "can be any subvol, but we choose first-hashed-subvol randomly"); { begin: hashed-subvol = hashed-subvol for "bname" in in-memory layout of "parent"; hash-range = extract hashe-range from layout of "parent"; ret = mkdir (parent/bname, hashed-subvol, hash-range); if (ret == "hash-value doesn't fall into layout stored on the brick (this error is returned by posix-mkdir)") { refresh_parent_layout (); goto begin; } } inodelk (UNLCK, parent, "LAYOUT_HEAL_DOMAIN", "first-hashed-subvol"); proceed with other parts of dht_mkdir; } posix_mkdir (parent/bname, client-hash-range) { disk-hash-range = getxattr (parent, "dht-layout-key"); if (disk-hash-range != client-hash-range) { fail-with-error ("hash-value doesn't fall into layout stored on the brick"); return 0; } continue-with-posix-mkdir; } Similar changes need to be done for dentry operations like create, symlink, link, unlink, rmdir, rename. These will be addressed in subsequent patches. This patch addresses only mkdir codepath. This change breaks stripe tests, as on some striped subvols dht layout xattrs are not set for some reason. This results in failure of mkdir. Since striped volumes are always created with dht, some tests associated with stripe also fail. So, I am making following tests changes (since stripe is out of maintainance): * modify ./tests/basic/rpc-coverage.t to not to use striped volumes * mark all (2) tests in tests/bugs/stripe/ as bad tests Change-Id: Idd1ae879f24a48303dc743c1bb4d91f89a629e25 BUG: 1323040 Signed-off-by: Raghavendra G <> Reviewed-on: Smoke: Gluster Build System <> CentOS-regression: Gluster Build System <> NetBSD-regression: NetBSD Build System <> Reviewed-by: N Balachandran <>
Diffstat (limited to 'tests')
3 files changed, 5 insertions, 1 deletions
diff --git a/tests/basic/rpc-coverage.t b/tests/basic/rpc-coverage.t
index f8ade59..a76ba70 100644..100755
--- a/tests/basic/rpc-coverage.t
+++ b/tests/basic/rpc-coverage.t
@@ -9,7 +9,7 @@ TEST glusterd
TEST pidof glusterd
TEST $CLI volume info;
-TEST $CLI volume create $V0 replica 2 stripe 2 $H0:$B0/${V0}{1,2,3,4,5,6,7,8};
+TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{1,2,3,4,5,6,7,8};
EXPECT "$V0" volinfo_field $V0 'Volume Name';
EXPECT 'Created' volinfo_field $V0 'Status';
diff --git a/tests/bugs/stripe/bug-1002207.t b/tests/bugs/stripe/bug-1002207.t
index 1f8e46b..c58a6e2 100644
--- a/tests/bugs/stripe/bug-1002207.t
+++ b/tests/bugs/stripe/bug-1002207.t
@@ -51,3 +51,5 @@ TEST $CLI volume delete $V0;
TEST ! $CLI volume info $V0;
diff --git a/tests/bugs/stripe/bug-1111454.t b/tests/bugs/stripe/bug-1111454.t
index 05f6934..1509dd7 100644
--- a/tests/bugs/stripe/bug-1111454.t
+++ b/tests/bugs/stripe/bug-1111454.t
@@ -16,3 +16,5 @@ TEST touch $M0/dir/file
TEST ln -s file $M0/dir/symlinkfile
TEST ls -lR $M0