diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2010-06-08 14:48:44 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2010-06-08 14:48:44 +0100 |
commit | 755c4ad125938778eac7b5013f85dd010b5c38f3 (patch) | |
tree | 85e652be4566f014a48d3f73778130dc4521e2aa | |
parent | e729c1b0d31c4e8e528643c7b72199bf2108ad29 (diff) | |
download | rabbitmq-server-755c4ad125938778eac7b5013f85dd010b5c38f3.tar.gz |
Start bug22597 again.
-rw-r--r-- | src/rabbit.erl | 3 | ||||
-rw-r--r-- | src/rabbit_mnesia.erl | 14 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index c389178a..7a2faa68 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -185,6 +185,7 @@ -type(log_location() :: 'tty' | 'undefined' | string()). -type(file_suffix() :: binary()). +-type(node_type() :: disc_only | disc | ram). -spec(prepare/0 :: () -> 'ok'). -spec(start/0 :: () -> 'ok'). @@ -193,7 +194,7 @@ -spec(rotate_logs/1 :: (file_suffix()) -> 'ok' | {'error', any()}). -spec(status/0 :: () -> [{running_applications, [{atom(), string(), string()}]} | - {nodes, [erlang_node()]} | + {nodes, [{node_type(), [erlang_node()]}]} | {running_nodes, [erlang_node()]}]). -spec(log_location/1 :: ('sasl' | 'kernel') -> log_location()). diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index a0b7aa4e..20ee5232 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -47,7 +47,10 @@ -ifdef(use_specs). --spec(status/0 :: () -> [{'nodes' | 'running_nodes', [erlang_node()]}]). +-type(node_type() :: disc_only | disc | ram). + +-spec(status/0 :: () -> [{'nodes', [{node_type(), [erlang_node()]}]} | + {'running_nodes', [erlang_node()]}]). -spec(dir/0 :: () -> file_path()). -spec(ensure_mnesia_dir/0 :: () -> 'ok'). -spec(init/0 :: () -> 'ok'). @@ -64,7 +67,14 @@ %%---------------------------------------------------------------------------- status() -> - [{nodes, mnesia:system_info(db_nodes)}, + [{nodes, [{Key, Nodes} || + {Key, CopyType} <- [{disc_only, disc_only_copies}, + {disc, disc_copies}, + {ram, ram_copies}], + begin + Nodes = mnesia:table_info(schema, CopyType), + Nodes =/= [] + end]}, {running_nodes, mnesia:system_info(running_db_nodes)}]. init() -> |