1*cf84ac9aSAndroid Build Coastguard Worker#!/bin/sh 2*cf84ac9aSAndroid Build Coastguard Worker 3*cf84ac9aSAndroid Build Coastguard Worker# Check verbose xlat decoding of btrfs ioctl w/ live ioctls. 4*cf84ac9aSAndroid Build Coastguard Worker 5*cf84ac9aSAndroid Build Coastguard Worker# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM 6*cf84ac9aSAndroid Build Coastguard Worker 7*cf84ac9aSAndroid Build Coastguard Worker# Typical usage: 8*cf84ac9aSAndroid Build Coastguard Worker# mkfs.btrfs <dev> 9*cf84ac9aSAndroid Build Coastguard Worker# mount <dev> /mnt 10*cf84ac9aSAndroid Build Coastguard Worker# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-wX" 11*cf84ac9aSAndroid Build Coastguard Worker# umount /mnt 12*cf84ac9aSAndroid Build Coastguard Worker 13*cf84ac9aSAndroid Build Coastguard Worker. "${srcdir=.}/init.sh" 14*cf84ac9aSAndroid Build Coastguard Worker 15*cf84ac9aSAndroid Build Coastguard Workerif [ -z "${BTRFS_MOUNTPOINT}" ]; then 16*cf84ac9aSAndroid Build Coastguard Worker skip_ "\$BTRFS_MOUNTPOINT not set" 17*cf84ac9aSAndroid Build Coastguard Workerelif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then 18*cf84ac9aSAndroid Build Coastguard Worker skip_ "\$BTRFS_MOUNTPOINT does not point to a directory" 19*cf84ac9aSAndroid Build Coastguard Workerfi 20*cf84ac9aSAndroid Build Coastguard Worker 21*cf84ac9aSAndroid Build Coastguard Workercheck_prog grep 22*cf84ac9aSAndroid Build Coastguard Workerrun_prog ../btrfs -w -X "${BTRFS_MOUNTPOINT}" > /dev/null 23*cf84ac9aSAndroid Build Coastguard Workerrun_strace -a16 -Xverbose -eioctl $args > "$EXP" 24*cf84ac9aSAndroid Build Coastguard Workergrep -v '^ioctl([012],' < "$LOG" > "$OUT" 25*cf84ac9aSAndroid Build Coastguard Workermatch_diff "$OUT" "$EXP" 26