#
_filter_bmap()
{
- tee -a $seq.full |\
awk '$3 ~ /hole/ { print $1, $2, $3; next }
$7 ~ /10000/ { print $1, $2, "unwritten"; next }
- {print $1, $2}'
+ {print $1, $2}' >> $seq.full
}
_supported_os IRIX Linux
testfile=$TEST_DIR/file.$seq
-rm -f $testfile
_test_eof_hole()
{
# on a BB boundary
- xfs_io -f -c 'pwrite 0 50k' -c 'truncate 100k'\
- -c 'pread -b 200k 0 200k' $testfile | _filter_io
+ rm -f $testfile
+ xfs_io -f -d \
+ -c 'pwrite -b 50k 0 50k' \
+ -c 'truncate 100k' \
+ -c 'pread -b 200k 0 200k' \
+ $testfile | _filter_io
xfs_io -c 'bmap -vp' $testfile | _filter_bmap
echo ""
# on an odd byte boundary => 1 short of boundary
+ rm -f $testfile
boundary_minus1=`expr 100 \* 1024 - 1`
echo "boundary_minus1 = $boundary_minus1"
- xfs_io -f -c 'pwrite 0 50k' -c "truncate $boundary_minus1" \
- -c 'pread -b 200k 0 200k' $testfile | _filter_io
+ xfs_io -f -d \
+ -c 'pwrite -b 50k 0 50k' \
+ -c "truncate $boundary_minus1" \
+ -c 'pread -b 200k 0 200k' \
+ $testfile | _filter_io
xfs_io -c 'bmap -vp' $testfile | _filter_bmap
echo ""
# on an odd byte boundary => 1 over boundary
+ rm -f $testfile
echo "boundary_plus1 = $boundary_plus1"
boundary_plus1=`expr 100 \* 1024 + 1`
- xfs_io -f -c 'pwrite 0 50k' -c "truncate $boundary_plus1" \
- -c 'pread -b 200k 0 200k' $testfile | _filter_io
+ xfs_io -f -d \
+ -c 'pwrite -b 50k 0 50k' \
+ -c "truncate $boundary_plus1" \
+ -c 'pread -b 200k 0 200k' \
+ $testfile | _filter_io
xfs_io -c 'bmap -vp' $testfile | _filter_bmap
echo ""
}
_test_eof_unwritten_extent()
{
# on a BB boundary
- xfs_io -f -c 'resvsp 0 100k' -c 'pwrite 0 50k' \
- -c 'pread -b 200k 0 200k' $testfile | _filter_io
+ rm -f $testfile
+ xfs_io -f -d \
+ -c 'resvsp 0 100k' \
+ -c 'truncate 100k' \
+ -c 'pwrite -b 50k 0 50k' \
+ -c 'pread -b 200k 0 200k' \
+ $testfile | _filter_io
xfs_io -c 'bmap -vp' $testfile | _filter_bmap
echo ""
# on an odd byte boundary => 1 short of boundary
+ rm -f $testfile
boundary_minus1=`expr 100 \* 1024 - 1`
echo "boundary_minus1 = $boundary_minus1"
- xfs_io -f -c "resvsp 0 $boundary_minus1" -c 'pwrite 0 50k' \
- -c 'pread -b 200k 0 200k' $testfile | _filter_io
+ xfs_io -f -d \
+ -c "resvsp 0 $boundary_minus1" \
+ -c "truncate $boundary_minus1" \
+ -c 'pwrite -b 50k 0 50k' \
+ -c 'pread -b 200k 0 200k' \
+ $testfile | _filter_io
xfs_io -c 'bmap -vp' $testfile | _filter_bmap
echo ""
# on an odd byte boundary => 1 over boundary
+ rm -f $testfile
boundary_plus1=`expr 100 \* 1024 + 1`
echo "boundary_plus1 = $boundary_plus1"
- xfs_io -f -c "resvsp 0 $boundary_plus1" -c 'pwrite 0 50k' \
- -c 'pread -b 200k 0 200k' $testfile | _filter_io
+ xfs_io -f -d \
+ -c "resvsp 0 $boundary_plus1" \
+ -c "truncate $boundary_plus1" \
+ -c 'pwrite -b 50k 0 50k' \
+ -c 'pread -b 200k 0 200k' \
+ $testfile | _filter_io
xfs_io -c 'bmap -vp' $testfile | _filter_bmap
echo ""
}
QA output created by 164
wrote 51200/51200 bytes at offset 0
-50 KiB, 13 ops
+50 KiB, 1 ops
read 102400/204800 bytes at offset 0
100 KiB, 1 ops
-/mnt/test/file.164:
-EXT: FILE-OFFSET
-0: [0..127]:
-1: [128..199]: hole
boundary_minus1 = 102399
wrote 51200/51200 bytes at offset 0
-50 KiB, 13 ops
+50 KiB, 1 ops
read 102399/204800 bytes at offset 0
100 KiB, 1 ops
-/mnt/test/file.164:
-EXT: FILE-OFFSET
-0: [0..127]:
-1: [128..199]: hole
boundary_plus1 =
wrote 51200/51200 bytes at offset 0
-50 KiB, 13 ops
+50 KiB, 1 ops
read 102401/204800 bytes at offset 0
100 KiB, 1 ops
-/mnt/test/file.164:
-EXT: FILE-OFFSET
-0: [0..127]:
-1: [128..207]: hole
wrote 51200/51200 bytes at offset 0
-50 KiB, 13 ops
-read 102401/204800 bytes at offset 0
+50 KiB, 1 ops
+read 102400/204800 bytes at offset 0
100 KiB, 1 ops
-/mnt/test/file.164:
-EXT: FILE-OFFSET
-0: [0..127]:
-1: [128..199]: unwritten
boundary_minus1 = 102399
wrote 51200/51200 bytes at offset 0
-50 KiB, 13 ops
-read 102401/204800 bytes at offset 0
+50 KiB, 1 ops
+read 102399/204800 bytes at offset 0
100 KiB, 1 ops
-/mnt/test/file.164:
-EXT: FILE-OFFSET
-0: [0..127]:
-1: [128..199]: unwritten
boundary_plus1 = 102401
wrote 51200/51200 bytes at offset 0
-50 KiB, 13 ops
+50 KiB, 1 ops
read 102401/204800 bytes at offset 0
100 KiB, 1 ops
-/mnt/test/file.164:
-EXT: FILE-OFFSET
-0: [0..127]:
-1: [128..199]: unwritten
-2: [200..207]: unwritten