diff --git a/src/home/homed-manager.c b/src/home/homed-manager.c index fc6fe8a4b1..0fcf7b9395 100644 --- a/src/home/homed-manager.c +++ b/src/home/homed-manager.c @@ -3,7 +3,6 @@ #include #include #include -#include #include #include #include @@ -41,6 +40,7 @@ #include "homed-manager-bus.h" #include "homed-operation.h" #include "homed-varlink.h" +#include "logarithm.h" #include "mkdir.h" #include "notify-recv.h" #include "ordered-set.h" @@ -1937,9 +1937,9 @@ static int manager_rebalance_calculate(Manager *m) { } /* Scale next rebalancing interval based on the least amount of space of any of the home - * directories. We pick a time in the range 1min … 15min, scaled by log2(min_free), so that: - * 10M → ~0.7min, 100M → ~2.7min, 1G → ~4.6min, 10G → ~6.5min, 100G ~8.4 */ - m->rebalance_interval_usec = (usec_t) CLAMP((LESS_BY(log2(min_free), 22)*15*USEC_PER_MINUTE)/26, + * directories. We pick a time in the range 1min … 15min, scaled by floor(log2(min_free)), + * so that: 10M → ~0.6min, 100M → ~2.3min, 1G → ~4.0min, 10G → ~6.3min, 100G → ~8.1min */ + m->rebalance_interval_usec = (usec_t) CLAMP((LESS_BY(log2u64(min_free), 22u)*15*USEC_PER_MINUTE)/26, 1 * USEC_PER_MINUTE, 15 * USEC_PER_MINUTE); diff --git a/src/home/meson.build b/src/home/meson.build index 0b27001c5a..64c62f1ddd 100644 --- a/src/home/meson.build +++ b/src/home/meson.build @@ -68,7 +68,6 @@ executables += [ 'sources' : systemd_homed_sources, 'extract' : systemd_homed_extract_sources, 'dependencies' : [ - libm, libopenssl_cflags, threads, ],