#!/usr/bin/env bash
set -euo pipefail

image=/var/lib/ldw/disk-pressure.img
mountpoint=/mnt/ldw-disk-pressure

case "${1:-}" in
  start)
    install -d -m 0750 "$mountpoint"
    truncate -s 128M "$image"
    mkfs.ext4 -F "$image" >/dev/null
    if ! mount -o loop,size=128M "$image" "$mountpoint"; then
      truncate -s 0 "$image"
      mount -t tmpfs -o size=128M,mode=0750 tmpfs "$mountpoint"
    fi
    dd if=/dev/zero of="$mountpoint/pressure" bs=1M count=118 status=none
    ;;
  stop)
    mountpoint -q "$mountpoint" && umount "$mountpoint"
    truncate -s 0 "$image"
    ;;
  status)
    if mountpoint -q "$mountpoint"; then
      exit 0
    fi
    exit 1
    ;;
  *)
    echo "usage: disk-pressure start|stop|status" >&2
    exit 2
    ;;
esac
