*/
static void usage(void)
{
- printf("Usage: ctdb_control [options] <control>\n");
- printf("\nControls:\n");
- printf(" ping\n");
- printf(" process-exists <vnn:pid> see if a process exists\n");
- printf(" status <vnn|all> show ctdb status on a node\n");
- printf(" statusreset <vnn|all> reset status on a node\n");
- printf(" debug <vnn|all> <level> set ctdb debug level on a node\n");
- printf(" debuglevel display ctdb debug levels\n");
- printf(" getvnnmap <vnn> display ctdb vnnmap\n");
- printf(" setvnnmap <vnn> <generation> <numslots> <lmaster>*\n");
- printf(" getdbmap <vnn> lists databases on a node\n");
- printf(" getnodemap <vnn> lists nodes known to a ctdb daemon\n");
- printf(" createdb <vnn> <dbname> create a database\n");
- printf(" catdb <vnn> <dbid> lists all keys in a remote tdb\n");
- printf(" cpdb <fromvnn> <tovnn> <dbid> lists all keys in a remote tdb\n");
- printf(" setdmaster <vnn> <dbid> <dmaster> sets new dmaster for all records in the database\n");
- printf(" cleardb <vnn> <dbid> deletes all records in a db\n");
- printf(" writerecord <vnn> <dbid> <key> <data>\n");
- printf(" getrecmode <vnn> get recovery mode\n");
- printf(" setrecmode <vnn> <mode> set recovery mode\n");
- printf(" recover <vnn> recover the cluster\n");
+ printf(
+ "Usage: ctdb_control [options] <control>\n"
+ "\nControls:\n"
+ " ping\n"
+ " process-exists <vnn:pid> see if a process exists\n"
+ " status <vnn|all> show ctdb status on a node\n"
+ " statusreset <vnn|all> reset status on a node\n"
+ " debug <vnn|all> <level> set ctdb debug level on a node\n"
+ " debuglevel display ctdb debug levels\n"
+ " getvnnmap <vnn> display ctdb vnnmap\n"
+ " setvnnmap <vnn> <generation> <numslots> <lmaster>*\n"
+ " getdbmap <vnn> lists databases on a node\n"
+ " getnodemap <vnn> lists nodes known to a ctdb daemon\n"
++ " createdb <vnn> <dbname> create a database\n"
+ " catdb <vnn> <dbid> lists all keys in a remote tdb\n"
+ " cpdb <fromvnn> <tovnn> <dbid> lists all keys in a remote tdb\n"
+ " setdmaster <vnn> <dbid> <dmaster> sets new dmaster for all records in the database\n"
+ " cleardb <vnn> <dbid> deletes all records in a db\n"
+ " getrecmode <vnn> get recovery mode\n"
+ " setrecmode <vnn> <mode> set recovery mode\n"
++ " writerecord <vnn> <dbid> <key> <data>\n"
+ " recover <vnn> recover the cluster\n"
+ " attach <dbname> attach a database\n");
exit(1);
}
poptContext pc;
struct event_context *ev;
const char *control;
+ static struct {
+ const char *name;
+ int (*fn)(struct ctdb_context *, int, const char **);
+ } commands[] = {
+ { "process-exists", control_process_exists },
+ { "status", control_status },
+ { "statusreset", control_status_reset },
+ { "getvnnmap", control_getvnnmap },
+ { "getdbmap", control_getdbmap },
+ { "getnodemap", control_getnodemap },
+ { "catdb", control_catdb },
+ { "cpdb", control_cpdb },
+ { "setvnnmap", control_setvnnmap },
+ { "setdmaster", control_setdmaster },
++ { "createdb", control_createdb },
+ { "cleardb", control_cleardb },
+ { "getrecmode", control_getrecmode },
+ { "setrecmode", control_setrecmode },
+ { "ping", control_ping },
+ { "debug", control_debug },
+ { "debuglevel", control_debuglevel },
+ { "recover", control_recover },
++ { "writerecord", control_writerecord },
+ { "attach", control_attach },
+ };
pc = poptGetContext(argv[0], argc, argv, popt_options, POPT_CONTEXT_KEEP_FIRST);