On Mon, Nov 30, 2015 at 10:16 AM, Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx> wrote: > 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@xxxxxxxxxxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Thanks! > --- > common/filter | 45 +++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 45 insertions(+) > > diff --git a/common/filter b/common/filter > index af456c9..05f2fab 100644 > --- a/common/filter > +++ b/common/filter > @@ -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 > -- > 2.1.0 > -- Filipe David Manana, "Reasonable men adapt themselves to the world. Unreasonable men adapt the world to themselves. That's why all progress depends on unreasonable men." -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html