ctdb-recovery: Terminate if recovery fails without any banning credits
authorAmitay Isaacs <amitay@gmail.com>
Thu, 23 Jun 2016 11:07:37 +0000 (21:07 +1000)
committerKarolin Seeger <kseeger@samba.org>
Mon, 19 Sep 2016 08:05:27 +0000 (10:05 +0200)
In case of database recovery failure, if there are no banning credits
assigned, then the async computation is never terminated.  The else
condition is missing in (max_credits >= NUM_RETRIES) check.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Fri Jun 24 09:56:23 CEST 2016 on sn-devel-144

(cherry picked from commit 600cec4d44a01391230a81efeece5155a97c8298)

ctdb/server/ctdb_recovery_helper.c

index 24aa42f47acbef94ca8aa792fe9345fe752e020d..086dd16ca2ee178582ef10782bb5c1d42eb786ad 100644 (file)
@@ -2609,6 +2609,8 @@ static void recovery_db_recovery_done(struct tevent_req *subreq)
                        }
                        tevent_req_set_callback(subreq, recovery_failed_done,
                                                req);
+               } else {
+                       tevent_req_error(req, EIO);
                }
                return;
        }