1826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney#!/bin/sh 2826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney 3826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney# Check decoding of btrfs ioctl w/ live ioctls. 4826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney 5826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM 6826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney 7826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney# Typical usage: 8826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney# mkfs.btrfs <dev> 9826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney# mount <dev> /mnt 10826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-w" 11826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney# umount /mnt 12826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney 13826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney. "${srcdir=.}/init.sh" 14826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney 15826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoneyif [ -z "${BTRFS_MOUNTPOINT}" ]; then 16826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney skip_ "\$BTRFS_MOUNTPOINT not set" 17826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoneyelif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then 18826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney skip_ "\$BTRFS_MOUNTPOINT does not point to a directory" 19826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoneyfi 20826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoney 21826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoneycheck_prog grep 2239bac055674d23770b9a724221b728e443196ea7Elliott Hughesrun_prog ../btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null 2339bac055674d23770b9a724221b728e443196ea7Elliott Hughesrun_strace -a16 -eioctl $args > "$EXP" 24826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoneygrep -v '^ioctl([012],' < "$LOG" > "$OUT" 25826b7978ec021e79377c370e3894ad8d3479e572Jeff Mahoneymatch_diff "$OUT" "$EXP" 26