mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
a860a167d8
fstests only supports Linux, so get rid of this unnecessary predicate. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
60 lines
1.5 KiB
Bash
Executable File
60 lines
1.5 KiB
Bash
Executable File
#! /bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (c) 2019 Red Hat, Inc. All Rights Reserved.
|
|
#
|
|
# FS QA Test No. generic/568
|
|
#
|
|
# Test that fallocating an unaligned range allocates all blocks
|
|
# touched by that range
|
|
#
|
|
seq=$(basename $0)
|
|
seqres="$RESULT_DIR/$seq"
|
|
echo "QA output created by $seq"
|
|
|
|
here=$PWD
|
|
tmp=/tmp/$$
|
|
status=1 # failure is the default!
|
|
trap "_cleanup; exit \$status" 0 1 2 3 15
|
|
|
|
_cleanup()
|
|
{
|
|
cd /
|
|
rm -f "$tmp".*
|
|
rm -f "$TEST_DIR/falloctest-$seq"
|
|
}
|
|
|
|
# get standard environment, filters and checks
|
|
. ./common/rc
|
|
. ./common/filter
|
|
|
|
# real QA test starts here
|
|
_supported_fs generic
|
|
_require_xfs_io_command "falloc"
|
|
|
|
testfile="$TEST_DIR/falloctest-$seq"
|
|
|
|
# Fallocate 2 bytes across a block boundary
|
|
block_size=$(_get_file_block_size "$TEST_DIR")
|
|
$XFS_IO_PROG -f -c "falloc $((block_size - 1)) 2" "$testfile"
|
|
|
|
# Both the first blocks should be allocated now. Check that by
|
|
# inquiring whether the file grows when we write to the two bytes we
|
|
# have just fallocated.
|
|
|
|
allocated_size_before=$(($(stat -c '%b * %B' "$testfile")))
|
|
|
|
$XFS_IO_PROG -c "pwrite $((block_size - 1)) 2" "$testfile" \
|
|
| _filter_xfs_io | sed -e "s/$((block_size - 1))/block_size - 1/"
|
|
|
|
allocated_size_after=$(($(stat -c '%b * %B' "$testfile")))
|
|
|
|
if [ $allocated_size_after -gt $allocated_size_before ]; then
|
|
echo "ERROR: File grew from ${allocated_size_before} B to" \
|
|
"${allocated_size_after} B when writing to the fallocated range."
|
|
else
|
|
echo "OK: File did not grow."
|
|
fi
|
|
|
|
status=0
|
|
exit
|