#!/bin/sh

set -e

DISK=$AUTOPKGTEST_TMP/disk

cleanup () {
  set +e
  umount /mnt
  [ "$LOOP" ] && losetup -d $LOOP
  rm -f $DISK
  modprobe -r gfs2
  modprobe -r dlm
}

trap "cleanup" 0 2 3 15

# create test disk
echo "=== losetup ==="
dd if=/dev/zero of=$DISK bs=1M count=200 2>&1
LOOP=$(losetup --find --show $DISK)

# test tools
echo "=== mkfs ==="
mkfs.gfs2 -p lock_nolock -t debian:test -J 32 -j 2 -O $LOOP

echo "=== fsck ==="
fsck.gfs2 -f -y $LOOP 2>&1

echo "=== edit ==="
gfs2_edit -p sb $LOOP

echo "=== tunefs ==="
tunegfs2 -l $LOOP

echo "=== mount ==="
mount $LOOP /mnt
df /mnt

echo "=== grow ==="
dd if=/dev/zero of=$DISK bs=1M count=50 seek=200 2>&1
losetup --set-capacity $LOOP
gfs2_grow /mnt 2>&1
df /mnt

echo "=== jadd ==="
gfs2_jadd -j 1 /mnt

echo "=== glocktop ==="
glocktop -n 1
