Unnecessary
Sets reboot, changes take effect on reboot anyway
This commit is contained in:
@@ -1,47 +0,0 @@
|
||||
echo "Resize zram to match the shipped config"
|
||||
|
||||
# 90-omarchy.conf changed the device size. The migration that first applied the
|
||||
# zram tuning is one-shot, so machines that already ran it have the new file on
|
||||
# disk and the old device still running; nothing would pick the size up until
|
||||
# something else rebooted them.
|
||||
|
||||
zram_disksize=${OMARCHY_ZRAM_DISKSIZE:-/sys/block/zram0/disksize}
|
||||
swaps=${OMARCHY_SWAPS:-/proc/swaps}
|
||||
|
||||
# The size is an expression, and the generator is the only thing that evaluates
|
||||
# it. Ask it what the shipped config comes to rather than repeating the
|
||||
# arithmetic here, where the two would drift apart on the next tuning change.
|
||||
units=$(mktemp -d)
|
||||
trap 'rm -rf "$units"' EXIT
|
||||
desired_mb=$(/usr/lib/systemd/system-generators/zram-generator "$units" 2>&1 |
|
||||
grep -oP '/dev/zram0 with \K[0-9]+') || true
|
||||
|
||||
actual_bytes=$(cat "$zram_disksize" 2>/dev/null) || actual_bytes=0
|
||||
|
||||
# A device already at the right size needs neither a restart nor a reboot,
|
||||
# whether an earlier boot picked the config up or another user got here first.
|
||||
if [[ -n $desired_mb && $actual_bytes == $((desired_mb * 1024 * 1024)) ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if sudo systemctl daemon-reload; then
|
||||
# Resizing swaps the device off first, which faults every stored page back
|
||||
# into memory. That's only cheap while it's empty, so a device under
|
||||
# pressure keeps its old size until the next boot.
|
||||
zram_used=$(awk '$1 == "/dev/zram0" {print $4}' "$swaps")
|
||||
|
||||
# No row at all means the device is not swap right now, and that covers two
|
||||
# unlike situations. A device that doesn't exist yet is the one worth acting
|
||||
# on: the restart brings it up against the config daemon-reload just picked
|
||||
# up. A device that exists but is swapped off is not, because the restart
|
||||
# resets it first, and reset returns EBUSY for as long as anything still
|
||||
# holds it open. That leaves a "Job failed" from systemd in the migration
|
||||
# output and still ends up asking for the reboot, so go straight there.
|
||||
if [[ -n $zram_used || ! -e $zram_disksize ]] &&
|
||||
[[ ${zram_used:-0} == 0 ]] &&
|
||||
sudo systemctl restart dev-zram0.swap; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
omarchy-state set reboot-required
|
||||
Reference in New Issue
Block a user