anchor.diff:                 Mnt
            end || File <- UsedFiles],
       UsedMounts = sets:to_list(sets:from_list(UsedMountsTmp)),
  -
  -    [begin {_Sname, Host} = misc:node_name_host(node()),
  -           Err = fmt_to_bin(errors(disk), [Disk, Host, Used]),
  -           global_alert({disk, node()}, Err)
  -     end || {Disk, _Capacity, Used} <- UsedMounts, Used > ?MAX_DISK_USED],
  -
  -    Opaque;
  +    OverDisks = [ {Disk, Used}
  +                  || {Disk, _Cap, Used} <- UsedMounts, Used > ?MAX_DISK_USED],
  +
  +    Fun = fun({Disk, Used}, Acc) ->
  +                  Key = list_to_atom("disk_check_" ++ Disk),
  +                  case hit_rate_limit(Key, Acc) of
  +                      false ->
  +                          {_Sname, Host} = misc:node_name_host(node()),
  +                          Err = fmt_to_bin(errors(disk), [Disk, Host, Used]),
  +                          global_alert({disk, node()}, Err),
  +                          dict:store(Key, misc:now_int(), Acc);
  +                      true ->
  +                          Acc
  +                  end
  +          end,
  +
  +    lists:foldl(Fun, Opaque, OverDisks);
   
   %% @doc check how much overhead there is compared to data
   check(overhead, Opaque, _History) ->
  
positive.code: %% @doc check for any oom errors an any bucket
  check(oom, Opaque, _History) ->
      check_stat_increased(ep_oom_errors, Opaque).
  
  
  %% @doc calculate percentage of overhead and if it is over threshold
  
negative.code: 
  %% Amount of time between sending users the same alert (s)
  -define(ALERT_TIMEOUT, 60 * 10).
  
  %% Amount of time to wait between checkout out of disk (s)
  -define(DISK_USAGE_TIMEOUT, 60 * 60 * 12).
  
  %% Maximum percentage of overhead compared to max bucket size (%)
  -define(MAX_OVERHEAD_PERC, 50).
  