blob: c30f7644a2fcd28c2e8a2c01a5edf06237290267 [file] [log] [blame]
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2021, Jeff Layton <jlayton@redhat.com>
#
# FS QA Test No. 639
#
# Open a file and write a little data to it. Unmount (to clean out the cache)
# and then mount again. Then write some data to it beyond the EOF and ensure
# the result is correct.
#
# Prompted by a bug in ceph_write_begin that was fixed by commit 827a746f405d.
#
. ./common/preamble
_begin_fstest auto quick rw
# Import common functions.
. ./common/filter
# real QA test starts here
_supported_fs generic
_require_test
testfile="$TEST_DIR/test_write_begin.$$"
# write some data to file and fsync it out
$XFS_IO_PROG -f -c "pwrite -q 0 32" $testfile
# cycle the mount to clean out the pagecache
_test_cycle_mount
# now, write to the file (near the end)
$XFS_IO_PROG -c "pwrite -q 32 32" $testfile
# dump what we think is in there
echo "The result should be 64 bytes filled with 0xcd:"
hexdump -C $testfile
status=0
exit