X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ovsdb%2Fovsdb-server.c;h=530568aec37d343cd24bcb55cbac8ab3810fe184;hb=d60a2b538a2411019e401a0756c8c0aa1f3b6e98;hp=1b8d0be09cd6eb71ab72eb6284869254767cf1f2;hpb=a11f6164a801c093ef67b144167e55fc9e851626;p=sliver-openvswitch.git diff --git a/ovsdb/ovsdb-server.c b/ovsdb/ovsdb-server.c index 1b8d0be09..530568aec 100644 --- a/ovsdb/ovsdb-server.c +++ b/ovsdb/ovsdb-server.c @@ -15,8 +15,7 @@ #include -#include "ovsdb.h" - +#include #include #include #include @@ -27,11 +26,13 @@ #include "daemon.h" #include "dirs.h" #include "file.h" +#include "hash.h" #include "json.h" #include "jsonrpc.h" #include "jsonrpc-server.h" #include "leak-checker.h" #include "list.h" +#include "ovsdb.h" #include "ovsdb-data.h" #include "ovsdb-types.h" #include "ovsdb-error.h" @@ -134,11 +135,11 @@ main(int argc, char *argv[]) daemonize_complete(); - unixctl_command_register("exit", ovsdb_server_exit, &exiting); - unixctl_command_register("ovsdb-server/compact", ovsdb_server_compact, - file); - unixctl_command_register("ovsdb-server/reconnect", ovsdb_server_reconnect, - jsonrpc); + unixctl_command_register("exit", "", ovsdb_server_exit, &exiting); + unixctl_command_register("ovsdb-server/compact", "", + ovsdb_server_compact, file); + unixctl_command_register("ovsdb-server/reconnect", "", + ovsdb_server_reconnect, jsonrpc); exiting = false; while (!exiting) { @@ -499,11 +500,25 @@ update_remote_row(const struct ovsdb_row *row, struct ovsdb_txn *txn, values[n++] = xstrdup(ovs_retval_to_string(status.last_error)); } + if (status.locks_held && status.locks_held[0]) { + keys[n] = xstrdup("locks_held"); + values[n++] = xstrdup(status.locks_held); + } + if (status.locks_waiting && status.locks_waiting[0]) { + keys[n] = xstrdup("locks_waiting"); + values[n++] = xstrdup(status.locks_waiting); + } + if (status.locks_lost && status.locks_lost[0]) { + keys[n] = xstrdup("locks_lost"); + values[n++] = xstrdup(status.locks_lost); + } if (status.n_connections > 1) { keys[n] = xstrdup("n_connections"); values[n++] = xasprintf("%d", status.n_connections); } write_string_string_column(rw_row, "status", keys, values, n); + + ovsdb_jsonrpc_server_free_remote_status(&status); } static void @@ -694,7 +709,7 @@ parse_options(int argc, char *argv[], char **file_namep, usage(); case 'V': - OVS_PRINT_VERSION(0, 0); + ovs_print_version(0, 0); exit(EXIT_SUCCESS); VLOG_OPTION_HANDLERS