summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAmar Tumballi <amarts@redhat.com>2017-10-22 12:41:38 +0530
committerAmar Tumballi <amarts@redhat.com>2017-10-29 08:55:42 +0100
commit9aa574a51b84717c1f3949ed2e28a49e49840a93 (patch)
tree1ffcad570231ff77713b041e4bc1afe735e0f940 /tests
parent786343abca3474ff01aa1017210112d97cbc4843 (diff)
protocol/client: handle the subdir handshake properly for add-brick
There should be different way we handle handshake in case of subdir mount for the first time, and in case of subsequent graph changes. Change-Id: I2a7ba836433bb0a0f4a861809e2bb0d7fbc4da54 BUG: 1505323 Signed-off-by: Amar Tumballi <amarts@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/features/subdir-mount.t31
1 files changed, 26 insertions, 5 deletions
diff --git a/tests/features/subdir-mount.t b/tests/features/subdir-mount.t
index ab7ef35815b..1742f8655e8 100644
--- a/tests/features/subdir-mount.t
+++ b/tests/features/subdir-mount.t
@@ -82,17 +82,38 @@ TEST $CLI volume stop $V0
TEST $CLI volume start $V0
-# /subdir2 has not allowed IP
-TEST $GFS --subdir-mount /subdir2 -s $H0 --volfile-id $V0 $M1
-TEST stat $M1
-
TEST $GFS --subdir-mount /subdir1/subdir1.1/subdir1.2 -s $H0 --volfile-id $V0 $M2
TEST stat $M2
+# mount shouldn't fail even after add-brick
+TEST $CLI volume add-brick $V0 replica 2 $H0:$B0/${V0}{5,6};
+
+# Give time for client process to get notified and use the new
+# volfile after add-brick
+sleep 1
+
+# Existing mount should still be active
+mount_inode=$(stat --format "%i" "$M2")
+TEST test "$mount_inode" == "1"
+
+TEST umount $M2
+
+# because the subdir is not yet 'healed', below should fail.
+TEST $GFS --subdir-mount /subdir2 -s $H0 --volfile-id $V0 $M2
+mount_inode=$(stat --format "%i" "$M2")
+TEST test "$mount_inode" != "1"
+
+# Allow the heal to complete
+TEST stat $M0/subdir1/subdir1.1/subdir1.2/subdir1.2_file;
+TEST stat $M0/subdir2/
+
+# Now the mount should succeed
+TEST $GFS --subdir-mount /subdir2 -s $H0 --volfile-id $V0 $M1
+TEST stat $M1
+
# umount $M1 / $M2
TEST umount $M0
TEST umount $M1
-TEST umount $M2
TEST $CLI volume stop $V0;