50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
DESCRIPTION="direct I/O in unix_io"
|
|
OUT=$test_name.log
|
|
if test "$(id -u)" -ne 0 ; then
|
|
echo "$test_name: $DESCRIPTION: skipped (not root)"
|
|
elif ! command -v losetup >/dev/null ; then
|
|
echo "$test_name: $DESCRIPTION: skipped (no losetup)"
|
|
elif test ! -x $DEBUGFS_EXE; then
|
|
echo "$test_name: $DESCRIPTION: skipped (no debugfs)"
|
|
else
|
|
dd if=/dev/zero of=$TMPFILE bs=1M count=128 > /dev/null 2>&1
|
|
LOOP=$(losetup --show --sector-size 4096 -f $TMPFILE)
|
|
if [ ! -b "$LOOP" ]; then
|
|
echo "$test_name: $DESCRIPTION: skipped (no loop devices)"
|
|
rm -f $TMPFILE
|
|
exit 0
|
|
fi
|
|
echo mke2fs -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D \$LOOP > $OUT
|
|
$MKE2FS -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D $LOOP 2>&1 | \
|
|
sed -f $cmd_dir/filter.sed >> $OUT
|
|
|
|
echo debugfs -D -R stats \$LOOP >> $OUT
|
|
$DEBUGFS -D -R stats $LOOP 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
|
|
|
|
echo e2fsck -fn -N test_filesys \$LOOP > $OUT.new
|
|
$FSCK -fn -N test_filesys $LOOP >> $OUT.new 2>&1
|
|
echo Exit status is $? >> $OUT.new
|
|
sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
|
|
rm -f $OUT.new
|
|
|
|
losetup -d $LOOP
|
|
|
|
echo e2fsck -fn -N test_filesys \$TMPFILE > $OUT.new
|
|
$FSCK -fn -N test_filesys $TMPFILE >> $OUT.new 2>&1
|
|
echo Exit status is $? >> $OUT.new
|
|
sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
|
|
rm -f $OUT.new
|
|
|
|
cmp -s $test_name.log $test_dir/expect
|
|
|
|
if [ "$?" -eq 0 ]; then
|
|
echo "$test_name: $DESCRIPTION: ok"
|
|
touch $test_name.ok
|
|
else
|
|
echo "$test_name: $DESCRIPTION: failed"
|
|
diff $DIFF_OPTS $test_dir/expect $test_name.log >> $test_name.failed
|
|
fi
|
|
fi
|
|
|
|
unset LOOP
|