#!/bin/sh

# Check decoding of btrfs ioctl w/ live ioctls.

# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM

# Typical usage:
# mkfs.btrfs <dev>
# mount <dev> /mnt
# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-w"
# umount /mnt

. "${srcdir=.}/init.sh"

if [ -z "${BTRFS_MOUNTPOINT}" ]; then
    skip_ "\$BTRFS_MOUNTPOINT not set"
elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then
    skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
fi

run_prog ./btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null
run_strace -a16 -eioctl $args > "$EXP"
check_prog grep
grep -v '^ioctl([012],' < "$LOG" > "$OUT"
match_diff "$OUT" "$EXP"

rm -f "$EXP" "$OUT"

exit 0
