diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2021-10-29 10:44:22 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2021-10-29 10:44:22 +0200 |
commit | 15e3cf6b9096b6c2c14fdaffc69f013e627680b8 (patch) | |
tree | bf0d5b30ce296610b9b04e6f247a61dbe585b7f8 /container-disc | |
parent | 960ccaef080a79c5a8180f89ccc6dc899b6415b2 (diff) |
Get minimum value from cgroups v2 hierarchy
Diffstat (limited to 'container-disc')
-rwxr-xr-x | container-disc/src/main/sh/vespa-start-container-daemon.sh | 25 |
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() { |