summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSanju Rakonde <srakonde@redhat.com>2019-03-12 06:48:52 +0000
committerSanju Rakonde <srakonde@redhat.com>2019-03-12 12:40:55 +0530
commitd2b8167aeb5f5559a16eef4604b46f71f3dbf894 (patch)
treef32785fb2b2c5798bcde4d77d431f8a979b4b049
parent421b7071f5acee064faf02dc91bcc83efbaa6523 (diff)
Revert "libglusterfs/common-utils.c: Fix buffer size for checksum computation"
This reverts commit 421b7071f5acee064faf02dc91bcc83efbaa6523. With this commit, the way glusterd calculates the checksum changes. In a heterogeneous cluster, upgraded and non-upgraded nodes follow different mechanisms to compute the checksum. Although the contents of files are same, we will see checksum mismatch errors and peers will run into the rejected state. reverted patch: https://review.gluster.org/#/c/glusterfs/+/22149/ updates: bz#1672249 Change-Id: Ie12e1ac983d62594b161844b2967d8a3fbfedba6 Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
-rw-r--r--libglusterfs/src/common-utils.c5
-rwxr-xr-xtests/bugs/glusterd/quorum-value-check.t35
2 files changed, 3 insertions, 37 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c
index 70b90104b87..e2874602a84 100644
--- a/libglusterfs/src/common-utils.c
+++ b/libglusterfs/src/common-utils.c
@@ -1874,7 +1874,7 @@ gf_unlockfd (int fd)
}
static void
-compute_checksum (char *buf, const ssize_t size, uint32_t *checksum)
+compute_checksum (char *buf, size_t size, uint32_t *checksum)
{
int ret = -1;
char *checksum_buf = NULL;
@@ -1915,7 +1915,8 @@ get_checksum_for_file (int fd, uint32_t *checksum)
do {
ret = sys_read (fd, &buf, GF_CHECKSUM_BUF_SIZE);
if (ret > 0)
- compute_checksum (buf, ret, checksum);
+ compute_checksum (buf, GF_CHECKSUM_BUF_SIZE,
+ checksum);
} while (ret > 0);
/* set it back */
diff --git a/tests/bugs/glusterd/quorum-value-check.t b/tests/bugs/glusterd/quorum-value-check.t
deleted file mode 100755
index aaf636274b6..00000000000
--- a/tests/bugs/glusterd/quorum-value-check.t
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-. $(dirname $0)/../../include.rc
-. $(dirname $0)/../../volume.rc
-
-function check_quorum_nfs() {
- local qnfs="$(less /var/lib/glusterd/nfs/nfs-server.vol | grep "quorum-count"| awk '{print $3}')"
- local qinfo="$($CLI volume info $V0| grep "cluster.quorum-count"| awk '{print $2}')"
-
- if [ $qnfs = $qinfo ]; then
- echo "Y"
- else
- echo "N"
- fi
-}
-
-cleanup;
-
-TEST glusterd
-TEST pidof glusterd
-TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{0,1,2}
-TEST $CLI volume set $V0 nfs.disable off
-TEST $CLI volume set $V0 performance.write-behind off
-TEST $CLI volume set $V0 cluster.self-heal-daemon off
-TEST $CLI volume set $V0 cluster.quorum-type fixed
-TEST $CLI volume start $V0
-
-TEST $CLI volume set $V0 cluster.quorum-count 1
-EXPECT_WITHIN $CONFIG_UPDATE_TIMEOUT "Y" check_quorum_nfs
-TEST $CLI volume set $V0 cluster.quorum-count 2
-EXPECT_WITHIN $CONFIG_UPDATE_TIMEOUT "Y" check_quorum_nfs
-TEST $CLI volume set $V0 cluster.quorum-count 3
-EXPECT_WITHIN $CONFIG_UPDATE_TIMEOUT "Y" check_quorum_nfs
-
-cleanup;