diff options
author | Amitay Isaacs <amitay@gmail.com> | 2016-08-05 13:13:08 +1000 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2016-08-10 11:24:37 +0200 |
commit | a00953225dbaeef908abc57ebb2a1874fae62fda (patch) | |
tree | bc8e7b7ad34ef8107d04a8d1c039be1bd8345cc0 | |
parent | 34c34998b1a8b137d51413af3c6831cf827dbbef (diff) | |
download | samba-a00953225dbaeef908abc57ebb2a1874fae62fda.tar.gz |
ctdb-tools: Cancel transaction on error or if commit fails
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12122
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(cherry picked from commit 4d144d7106d56bbb48669dd35eb324377dd09b59)
-rw-r--r-- | ctdb/tools/ctdb.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c index c83d3970e6d..eba6cdd3ff1 100644 --- a/ctdb/tools/ctdb.c +++ b/ctdb/tools/ctdb.c @@ -5136,6 +5136,7 @@ static int control_pfetch(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb, if (ret != 0) { fprintf(stderr, "Failed to read record for key %s\n", argv[1]); + ctdb_transaction_cancel(h); return ret; } @@ -5200,6 +5201,7 @@ static int control_pstore(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb, if (ret != 0) { fprintf(stderr, "Failed to store record for key %s\n", argv[1]); + ctdb_transaction_cancel(h); return ret; } @@ -5207,6 +5209,7 @@ static int control_pstore(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb, if (ret != 0) { fprintf(stderr, "Failed to commit transaction on db %s\n", db_name); + ctdb_transaction_cancel(h); return ret; } @@ -5262,6 +5265,7 @@ static int control_pdelete(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb, if (ret != 0) { fprintf(stderr, "Failed to delete record for key %s\n", argv[1]); + ctdb_transaction_cancel(h); return ret; } @@ -5269,6 +5273,7 @@ static int control_pdelete(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb, if (ret != 0) { fprintf(stderr, "Failed to commit transaction on db %s\n", db_name); + ctdb_transaction_cancel(h); return ret; } @@ -5412,6 +5417,7 @@ static int control_ptrans(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb, if (ret != 0) { fprintf(stderr, "Failed to commit transaction on db %s\n", db_name); + ctdb_transaction_cancel(h); } done: |