blob: 6a36ad40fa8637b570199c5956100af46a0561d3 [file] [log] [blame]
#!/bin/sh
# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
STATEFUL="/mnt/stateful_partition"
get_stateful_df_data() {
local bs="${1:-1K}"
df --block-size "${bs}" -P "${STATEFUL}" | grep -m 1 "${STATEFUL}"
}
# Get the lifetime writes from the stateful partition.
get_stateful_lifetime_writes() {
local stateful_dev
stateful_dev="$(get_stateful_df_data | awk '{print $1}' | \
sed -e 's#^/dev/##')"
local lifetime_writes
lifetime_writes="$(cat "/sys/fs/ext4/${stateful_dev}/lifetime_write_kbytes")"
: "${lifetime_writes:=0}"
echo "${lifetime_writes}"
}
# Get the percentage of space used on the stateful partition.
get_stateful_usage_percent() {
local stateful_space
stateful_space="$(get_stateful_df_data)"
# Remove everything after and including the "%"
stateful_space="${stateful_space%%%*}"
# Remove all fields except the last one.
stateful_space="${stateful_space##* }"
echo "${stateful_space}"
}
# Get the free space on the stateful partition.
#
# inputs:
# bs -- size of block as understood by strosize (suffixes allowed)
get_stateful_free_space_blocks() {
local bs="${1:-1K}"
get_stateful_df_data "${bs}" | awk '{print $4}'
}
# Get the total space on the stateful partition.
#
# inputs:
# bs -- size of block as understood by strosize (suffixes allowed)
get_stateful_total_space_blocks() {
local bs="${1:-1K}"
get_stateful_df_data "${bs}" | awk '{print $2}'
}
# Get the used space on the stateful partition.
#
# inputs:
# bs -- size of block as understood by strosize (suffixes allowed)
get_stateful_used_space_blocks() {
local bs="${1:-1K}"
get_stateful_df_data "${bs}" | awk '{print $3}'
}