diff options
author | Stefan Metzmacher <metze@samba.org> | 2010-09-14 14:45:16 +0200 |
---|---|---|
committer | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2010-10-21 11:09:55 +1100 |
commit | 19bc2e40ca1252629f86ea9603a03651021835ad (patch) | |
tree | b9145b191417f59897ba5893b33eb589bfcb50a3 | |
parent | ab6beb6b7fdffd53b8feb84e008562a2ef33d546 (diff) | |
download | samba-19bc2e40ca1252629f86ea9603a03651021835ad.tar.gz samba-19bc2e40ca1252629f86ea9603a03651021835ad.tar.xz samba-19bc2e40ca1252629f86ea9603a03651021835ad.zip |
tools/ctdb: let "ctdb catdb" pass the persistent flag to ctdb_attach()
metze
(This used to be ctdb commit 4ec99c1eeab529865ac790ef554f3b099a14faf1)
-rw-r--r-- | ctdb/tools/ctdb.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c index 6b048907ec..d8f8ea029b 100644 --- a/ctdb/tools/ctdb.c +++ b/ctdb/tools/ctdb.c @@ -106,7 +106,7 @@ static void verify_node(struct ctdb_context *ctdb) /* check if a database exists */ -static int db_exists(struct ctdb_context *ctdb, const char *db_name) +static int db_exists(struct ctdb_context *ctdb, const char *db_name, bool *persistent) { int i, ret; struct ctdb_dbid_map *dbmap=NULL; @@ -122,6 +122,9 @@ static int db_exists(struct ctdb_context *ctdb, const char *db_name) ctdb_ctrl_getdbname(ctdb, TIMELIMIT(), options.pnn, dbmap->dbs[i].dbid, ctdb, &name); if (!strcmp(name, db_name)) { + if (persistent) { + *persistent = dbmap->dbs[i].persistent; + } return 0; } } @@ -2942,6 +2945,7 @@ static int control_catdb(struct ctdb_context *ctdb, int argc, const char **argv) const char *db_name; struct ctdb_db_context *ctdb_db; int ret; + bool persistent; if (argc < 1) { usage(); @@ -2950,12 +2954,12 @@ static int control_catdb(struct ctdb_context *ctdb, int argc, const char **argv) db_name = argv[0]; - if (db_exists(ctdb, db_name)) { + if (db_exists(ctdb, db_name, &persistent)) { DEBUG(DEBUG_ERR,("Database '%s' does not exist\n", db_name)); return -1; } - ctdb_db = ctdb_attach(ctdb, db_name, false, 0); + 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)); @@ -2998,7 +3002,7 @@ static int control_pfetch(struct ctdb_context *ctdb, int argc, const char **argv db_name = argv[0]; - if (db_exists(ctdb, db_name)) { + if (db_exists(ctdb, db_name, NULL)) { DEBUG(DEBUG_ERR,("Database '%s' does not exist\n", db_name)); talloc_free(tmp_ctx); return -1; |