aboutsummaryrefslogtreecommitdiffstats
path: root/container-disc
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2021-10-29 10:44:22 +0200
committerHåkon Hallingstad <hakon@verizonmedia.com>2021-10-29 10:44:22 +0200
commit15e3cf6b9096b6c2c14fdaffc69f013e627680b8 (patch)
treebf0d5b30ce296610b9b04e6f247a61dbe585b7f8 /container-disc
parent960ccaef080a79c5a8180f89ccc6dc899b6415b2 (diff)
Get minimum value from cgroups v2 hierarchy
Diffstat (limited to 'container-disc')
-rwxr-xr-xcontainer-disc/src/main/sh/vespa-start-container-daemon.sh25
1 files changed, 18 insertions, 7 deletions
diff --git a/container-disc/src/main/sh/vespa-start-container-daemon.sh b/container-disc/src/main/sh/vespa-start-container-daemon.sh
index ec3366a62d7..da7e270890d 100755
--- a/container-disc/src/main/sh/vespa-start-container-daemon.sh
+++ b/container-disc/src/main/sh/vespa-start-container-daemon.sh
@@ -90,19 +90,30 @@ vespa_cg2get() {
local leaf_dir="$root_dir$slice"
local current_dir="$leaf_dir"
- while true; do
+ local min_value=
+ while (( ${#current_dir} >= ${#root_dir} )); do
local path="$current_dir"/"$filename"
if [ -r "$path" ]; then
- cat "$path"
- return 0
+ local value=$(< "$path")
+ if [ -z "$min_value" ]; then
+ min_value="$value"
+ elif [ "$min_value" == max ]; then
+ min_value="$value"
+ elif [ "$value" != max ] && (( value < min_value )); then
+ min_value="$value"
+ fi
fi
current_dir="${current_dir%/*}"
- if (( ${#current_dir} < ${#root_dir} )); then
- echo "No such filename was found at $leaf_dir: $filename" >&2
- return 1
- fi
done
+
+ if [ -z "$min_value" ]; then
+ echo "No such filename was found at $leaf_dir: $filename" >&2
+ return 1
+ fi
+
+ echo "$min_value"
+ return 0
}
configure_memory() {