summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2015-10-31 10:41:26 +0300
committerMichael Klishin <mklishin@pivotal.io>2015-10-31 10:41:26 +0300
commitb68e637bc3f02fa0a3d49281fc72f7d23e331af9 (patch)
treee5b5d6e6496594fb015bbec36be37d5ce443e604 /src
parent91d007da47d26600f2b0800cfa0639b4e61d9baf (diff)
parent0cc96cb8ca93a6bda9d6e3c00dc7047fbbf62731 (diff)
downloadrabbitmq-server-git-b68e637bc3f02fa0a3d49281fc72f7d23e331af9.tar.gz
Merge branch 'stable'
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_disk_monitor.erl15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/rabbit_disk_monitor.erl b/src/rabbit_disk_monitor.erl
index 68f6095176..3e9171b79a 100644
--- a/src/rabbit_disk_monitor.erl
+++ b/src/rabbit_disk_monitor.erl
@@ -61,7 +61,10 @@
%% timer that drives periodic checks
timer,
%% is free disk space alarm currently in effect?
- alarmed
+ alarmed,
+ %% is monitoring enabled? false on unsupported
+ %% platforms
+ enabled
}).
%%----------------------------------------------------------------------------
@@ -117,7 +120,8 @@ init([Limit]) ->
State = #state{dir = Dir,
min_interval = ?DEFAULT_MIN_DISK_CHECK_INTERVAL,
max_interval = ?DEFAULT_MAX_DISK_CHECK_INTERVAL,
- alarmed = false},
+ alarmed = false,
+ enabled = true},
case {catch get_disk_free(Dir),
vm_memory_monitor:get_total_memory()} of
{N1, N2} when is_integer(N1), is_integer(N2) ->
@@ -125,12 +129,17 @@ init([Limit]) ->
Err ->
rabbit_log:info("Disabling disk free space monitoring "
"on unsupported platform:~n~p~n", [Err]),
- {stop, unsupported_platform}
+ {ok, State#state{enabled = false}}
end.
handle_call(get_disk_free_limit, _From, State = #state{limit = Limit}) ->
{reply, Limit, State};
+handle_call({set_disk_free_limit, _}, _From, #state{enabled = false} = State) ->
+ rabbit_log:info("Cannot set disk free limit: "
+ "disabled disk free space monitoring", []),
+ {reply, ok, State};
+
handle_call({set_disk_free_limit, Limit}, _From, State) ->
{reply, ok, set_disk_limits(State, Limit)};