mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
7e98d41a6e
Refactor every test in the entire test suite to use the new boilerplate functions. This also migrates all the test group information into the test files. This patch has been autogenerated via the command: ./tools/convert-group btrfs ceph cifs ext4 f2fs generic nfs ocfs2 overlay perf shared udf xfs Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Allison Henderson <allison.henderson@oracle.com> Reviewed-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
58 lines
1.3 KiB
Bash
Executable File
58 lines
1.3 KiB
Bash
Executable File
#! /bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (C) 2017 SUSE Linux Products GmbH. All Rights Reserved.
|
|
#
|
|
# FS QA Test No. btrfs/148
|
|
#
|
|
# Test that direct IO writes work on RAID5 and RAID6 filesystems.
|
|
#
|
|
. ./common/preamble
|
|
_begin_fstest auto quick rw
|
|
|
|
# Import common functions.
|
|
. ./common/filter
|
|
|
|
# real QA test starts here
|
|
_supported_fs btrfs
|
|
_require_scratch
|
|
_require_scratch_dev_pool 4
|
|
_require_odirect
|
|
_require_btrfs_fs_feature raid56
|
|
|
|
_scratch_dev_pool_get 4
|
|
|
|
test_direct_io_write()
|
|
{
|
|
local mkfs_options=$1
|
|
|
|
_scratch_pool_mkfs $mkfs_options >>$seqres.full 2>&1
|
|
_scratch_mount
|
|
|
|
$XFS_IO_PROG -f -d -c "pwrite -S 0xab 0 1M" $SCRATCH_MNT/foo \
|
|
| _filter_xfs_io
|
|
|
|
# Now read back the same data, we expect to get what we wrote before.
|
|
echo "File data after direct IO write:"
|
|
od -t x1 $SCRATCH_MNT/foo | _filter_scratch
|
|
_scratch_cycle_mount
|
|
echo "File data after umounting and mounting again the filesystem:"
|
|
od -t x1 $SCRATCH_MNT/foo | _filter_scratch
|
|
|
|
$BTRFS_UTIL_PROG scrub start -B $SCRATCH_MNT >>$seqres.full 2>&1
|
|
if [ $? -ne 0 ]; then
|
|
echo "Scrub found errors" | tee -a $seqres.full
|
|
fi
|
|
|
|
_scratch_unmount
|
|
}
|
|
|
|
echo "Testing RAID5..."
|
|
test_direct_io_write "-m raid5 -d raid5"
|
|
echo "Testing RAID6..."
|
|
test_direct_io_write "-m raid6 -d raid6"
|
|
|
|
_scratch_dev_pool_put
|
|
|
|
status=0
|
|
exit
|