From 8dc416c06912cd0bca5380b29064a3e620b26afc Mon Sep 17 00:00:00 2001 From: Amitay Isaacs Date: Wed, 13 Nov 2013 17:45:25 +1100 Subject: ctdb-client: Treat empty __db_sequence_number__ record as 0 This fixes the issue of transaction commit failing due to an empty __db_sequence_number__ record in persistent database left by previous cancelled transaction. Signed-off-by: Amitay Isaacs Reviewed-by: Michael Adam --- ctdb/client/ctdb_client.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ctdb/client/ctdb_client.c') diff --git a/ctdb/client/ctdb_client.c b/ctdb/client/ctdb_client.c index e2eccb7b72..885dbfdfb4 100644 --- a/ctdb/client/ctdb_client.c +++ b/ctdb/client/ctdb_client.c @@ -4186,6 +4186,11 @@ static int ctdb_fetch_db_seqnum(struct ctdb_db_context *ctdb_db, uint64_t *seqnu return 0; } + if (data.dsize == 0) { + *seqnum = 0; + return 0; + } + if (data.dsize != sizeof(*seqnum)) { DEBUG(DEBUG_ERR, (__location__ " Invalid data recived len=%zi\n", data.dsize)); -- cgit