glusterd/snapshot : fix the compare snap logic

In one of the case in commit cb0339f there's one particular case where
after removing the old snap it wasn't writing the new snap version and
this resulted into one of the test to fail spuriously.

Change-Id: I3e83435fb62d6bba3bbe227e40decc6ce37ea77b
BUG: 1540607
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
This commit is contained in:
Atin Mukherjee 2018-02-09 21:02:09 +05:30
parent a9df2ac27e
commit 446ddbf1b1
2 changed files with 17 additions and 0 deletions

View File

@ -92,8 +92,16 @@ EXPECT "0" mounted_snaps ${V1}
# handled during handshake.
activate_snapshots
EXPECT 'Started' snapshot_status ${V0}_snap;
EXPECT 'Started' snapshot_status ${V1}_snap;
kill_glusterd 2
deactivate_snapshots
EXPECT 'Stopped' snapshot_status ${V0}_snap;
EXPECT 'Stopped' snapshot_status ${V1}_snap;
TEST start_glusterd 2
# Updates form friend should reflect as snap was deactivated while glusterd
@ -104,8 +112,13 @@ EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" mounted_snaps ${V1}
kill_glusterd 2
activate_snapshots
EXPECT 'Started' snapshot_status ${V0}_snap;
EXPECT 'Started' snapshot_status ${V1}_snap;
TEST start_glusterd 2
EXPECT_WITHIN $PROBE_TIMEOUT 2 peer_count;
# Updates form friend should reflect as snap was activated while glusterd
# process was inactive and mount point should exist.
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" mounted_snaps ${V0}

View File

@ -1911,6 +1911,10 @@ glusterd_compare_snap (dict_t *peer_data, int32_t snap_count,
snprintf (buf, sizeof(buf), "%s.remove_my_data",
prefix);
ret = dict_set_uint32 (peer_data, buf, 1);
snprintf (buf, sizeof(buf), "%s.accept_peer_data",
prefix);
ret = dict_set_uint32 (peer_data, buf, 1);
} else {
ret = 0;
}