mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
filter: Filter xfs_io and od's output in units of FS block size
The helpers introduced in this commit will be used to make btrfs tests that assume 4k as the block size to work on non-4k blocksized filesystem instances as well. Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com> Reviewed-by: Filipe Manana <fdmanana@suse.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
committed by
Dave Chinner
parent
2274eb58d8
commit
dedf2c79f5
@@ -229,6 +229,38 @@ _filter_xfs_io_unique()
|
||||
common_line_filter | _filter_xfs_io
|
||||
}
|
||||
|
||||
_filter_xfs_io_units_modified()
|
||||
{
|
||||
UNIT=$1
|
||||
UNIT_SIZE=$2
|
||||
|
||||
$AWK_PROG -v unit="$UNIT" -v unit_size=$UNIT_SIZE '
|
||||
/wrote/ {
|
||||
split($2, bytes, "/")
|
||||
|
||||
bytes_written = strtonum(bytes[1])
|
||||
|
||||
offset = strtonum($NF)
|
||||
|
||||
unit_start = offset / unit_size
|
||||
unit_start = int(unit_start)
|
||||
unit_end = (offset + bytes_written - 1) / unit_size
|
||||
unit_end = int(unit_end)
|
||||
|
||||
printf("%ss modified: [%d - %d]\n", unit, unit_start, unit_end)
|
||||
|
||||
next
|
||||
}
|
||||
'
|
||||
}
|
||||
|
||||
_filter_xfs_io_blocks_modified()
|
||||
{
|
||||
BLOCK_SIZE=$(get_block_size $SCRATCH_MNT)
|
||||
|
||||
_filter_xfs_io_units_modified "Block" $BLOCK_SIZE
|
||||
}
|
||||
|
||||
_filter_test_dir()
|
||||
{
|
||||
sed -e "s,$TEST_DEV,TEST_DEV,g" -e "s,$TEST_DIR,TEST_DIR,g"
|
||||
@@ -323,5 +355,18 @@ _filter_ro_mount() {
|
||||
-e "s/mount: cannot mount block device/mount: cannot mount/g"
|
||||
}
|
||||
|
||||
_filter_od()
|
||||
{
|
||||
BLOCK_SIZE=$(get_block_size $SCRATCH_MNT)
|
||||
$AWK_PROG -v block_size=$BLOCK_SIZE '
|
||||
/^[0-9]+/ {
|
||||
offset = strtonum("0"$1);
|
||||
$1 = sprintf("%o", offset / block_size);
|
||||
print $0;
|
||||
}
|
||||
/\*/
|
||||
'
|
||||
}
|
||||
|
||||
# make sure this script returns success
|
||||
/bin/true
|
||||
|
||||
Reference in New Issue
Block a user