From: Stefan Metzmacher Date: Tue, 14 Sep 2010 14:21:27 +0000 (+0200) Subject: tools/ctdb: allow "ctdb pfetch" only on persistent databases X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=63ad4a7fe7bd7c9597a4f5573e87f66e5234eb48;hp=7a5790de22e8370b2812414aa1adef8201e8b269;p=metze%2Fctdb%2Fwip.git tools/ctdb: allow "ctdb pfetch" only on persistent databases metze --- diff --git a/tools/ctdb.c b/tools/ctdb.c index 61a6c97c..bb18c6a7 100644 --- a/tools/ctdb.c +++ b/tools/ctdb.c @@ -2993,6 +2993,7 @@ static int control_pfetch(struct ctdb_context *ctdb, int argc, const char **argv struct ctdb_transaction_handle *h; TDB_DATA key, data; int fd, ret; + bool persistent; if (argc < 2) { talloc_free(tmp_ctx); @@ -3002,13 +3003,19 @@ static int control_pfetch(struct ctdb_context *ctdb, int argc, const char **argv db_name = argv[0]; - if (db_exists(ctdb, db_name, NULL)) { + if (db_exists(ctdb, db_name, &persistent)) { DEBUG(DEBUG_ERR,("Database '%s' does not exist\n", db_name)); talloc_free(tmp_ctx); return -1; } - ctdb_db = ctdb_attach(ctdb, db_name, true, 0); + if (!persistent) { + DEBUG(DEBUG_ERR,("Database '%s' is not persistent\n", db_name)); + talloc_free(tmp_ctx); + return -1; + } + + ctdb_db = ctdb_attach(ctdb, db_name, persistent, 0); if (ctdb_db == NULL) { DEBUG(DEBUG_ERR,("Unable to attach to database '%s'\n", db_name));