All of lore.kernel.org
 help / color / mirror / Atom feed
From: Filipe Manana <fdmanana@gmail.com>
To: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Cc: fstests@vger.kernel.org,
	"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>,
	chandan@mykolab.com
Subject: Re: [PATCH 7/8] Fix btrfs/103 to work on non-4k block sized filesystems
Date: Thu, 10 Dec 2015 17:27:03 +0000	[thread overview]
Message-ID: <CAL3q7H4MH9re2=s0Vfq5SE6qVNhmhA9Ku8wXhaR2Nefv13s0cQ@mail.gmail.com> (raw)
In-Reply-To: <1448878644-16503-8-git-send-email-chandan@linux.vnet.ibm.com>

On Mon, Nov 30, 2015 at 10:17 AM, Chandan Rajendra
<chandan@linux.vnet.ibm.com> wrote:
> This commit makes use of the new _filter_xfs_io_blocks_modified filtering
> function to print information in terms of file blocks rather than file
> offset.
>
> Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>

Thanks!

> ---
>  tests/btrfs/103     |  44 +++++++++++-------
>  tests/btrfs/103.out | 132 ++++++++++++++++++++++++++++++++++++++--------------
>  2 files changed, 122 insertions(+), 54 deletions(-)
>
> diff --git a/tests/btrfs/103 b/tests/btrfs/103
> index 3020c86..9d11d0f 100755
> --- a/tests/btrfs/103
> +++ b/tests/btrfs/103
> @@ -56,31 +56,37 @@ test_clone_and_read_compressed_extent()
>         _scratch_mkfs >>$seqres.full 2>&1
>         _scratch_mount $mount_opts
>
> +       BLOCK_SIZE=$(get_block_size $SCRATCH_MNT)
> +
>         # Create a test file with a single extent that is compressed (the
>         # data we write into it is highly compressible no matter which
>         # compression algorithm is used, zlib or lzo).
> -       $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 4K"        \
> -                       -c "pwrite -S 0xbb 4K 8K"        \
> -                       -c "pwrite -S 0xcc 12K 4K"       \
> -                       $SCRATCH_MNT/foo | _filter_xfs_io
> +       $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K $((1 * $BLOCK_SIZE))" \
> +               -c "pwrite -S 0xbb $((1 * $BLOCK_SIZE)) $((2 * $BLOCK_SIZE))" \
> +               -c "pwrite -S 0xcc $((3 * $BLOCK_SIZE)) $((1 * $BLOCK_SIZE))" \
> +               $SCRATCH_MNT/foo | _filter_xfs_io_blocks_modified
> +
>
>         # Now clone our extent into an adjacent offset.
> -       $CLONER_PROG -s $((4 * 1024)) -d $((16 * 1024)) -l $((8 * 1024)) \
> -               $SCRATCH_MNT/foo $SCRATCH_MNT/foo
> +       $CLONER_PROG -s $((1 * $BLOCK_SIZE)) -d $((4 * $BLOCK_SIZE)) \
> +                    -l $((2 * $BLOCK_SIZE)) $SCRATCH_MNT/foo $SCRATCH_MNT/foo
>
>         # Same as before but for this file we clone the extent into a lower
>         # file offset.
> -       $XFS_IO_PROG -f -c "pwrite -S 0xaa 8K 4K"         \
> -                       -c "pwrite -S 0xbb 12K 8K"        \
> -                       -c "pwrite -S 0xcc 20K 4K"        \
> -                       $SCRATCH_MNT/bar | _filter_xfs_io
> +       $XFS_IO_PROG -f \
> +               -c "pwrite -S 0xaa $((2 * $BLOCK_SIZE)) $((1 * $BLOCK_SIZE))" \
> +               -c "pwrite -S 0xbb $((3 * $BLOCK_SIZE)) $((2 * $BLOCK_SIZE))" \
> +               -c "pwrite -S 0xcc $((5 * $BLOCK_SIZE)) $((1 * $BLOCK_SIZE))" \
> +               $SCRATCH_MNT/bar | _filter_xfs_io_blocks_modified
>
> -       $CLONER_PROG -s $((12 * 1024)) -d 0 -l $((8 * 1024)) \
> +       $CLONER_PROG -s $((3 * $BLOCK_SIZE)) -d 0 -l $((2 * $BLOCK_SIZE)) \
>                 $SCRATCH_MNT/bar $SCRATCH_MNT/bar
>
> -       echo "File digests before unmounting filesystem:"
> -       md5sum $SCRATCH_MNT/foo | _filter_scratch
> -       md5sum $SCRATCH_MNT/bar | _filter_scratch
> +       echo "File contents before unmounting filesystem:"
> +       echo "foo:"
> +       od -t x1 $SCRATCH_MNT/foo | _filter_od
> +       echo "bar:"
> +       od -t x1 $SCRATCH_MNT/bar | _filter_od
>
>         # Evicting the inode or clearing the page cache before reading again
>         # the file would also trigger the bug - reads were returning all bytes
> @@ -91,10 +97,12 @@ test_clone_and_read_compressed_extent()
>         # ranges that point to the same compressed extent.
>         _scratch_remount
>
> -       echo "File digests after mounting filesystem again:"
> -       # Must match the same digests we got before.
> -       md5sum $SCRATCH_MNT/foo | _filter_scratch
> -       md5sum $SCRATCH_MNT/bar | _filter_scratch
> +       echo "File contents after mounting filesystem again:"
> +       # Must match the same contents we got before.
> +       echo "foo:"
> +       od -t x1 $SCRATCH_MNT/foo | _filter_od
> +       echo "bar:"
> +       od -t x1 $SCRATCH_MNT/bar | _filter_od
>  }
>
>  echo -e "\nTesting with zlib compression..."
> diff --git a/tests/btrfs/103.out b/tests/btrfs/103.out
> index f62de2f..8e31b5f 100644
> --- a/tests/btrfs/103.out
> +++ b/tests/btrfs/103.out
> @@ -1,41 +1,101 @@
>  QA output created by 103
>
>  Testing with zlib compression...
> -wrote 4096/4096 bytes at offset 0
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 8192/8192 bytes at offset 4096
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 4096/4096 bytes at offset 12288
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 4096/4096 bytes at offset 8192
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 8192/8192 bytes at offset 12288
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 4096/4096 bytes at offset 20480
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -File digests before unmounting filesystem:
> -4b985a45790261a706c3ddbf22c5f765  SCRATCH_MNT/foo
> -fd331e6b7a9ab105f48f71b53162d5b5  SCRATCH_MNT/bar
> -File digests after mounting filesystem again:
> -4b985a45790261a706c3ddbf22c5f765  SCRATCH_MNT/foo
> -fd331e6b7a9ab105f48f71b53162d5b5  SCRATCH_MNT/bar
> +Blocks modified: [0 - 0]
> +Blocks modified: [1 - 2]
> +Blocks modified: [3 - 3]
> +Blocks modified: [2 - 2]
> +Blocks modified: [3 - 4]
> +Blocks modified: [5 - 5]
> +File contents before unmounting filesystem:
> +foo:
> +0 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
> +*
> +1 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
> +*
> +4 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +6
> +bar:
> +0 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +2 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
> +*
> +3 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +5 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
> +*
> +6
> +File contents after mounting filesystem again:
> +foo:
> +0 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
> +*
> +1 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
> +*
> +4 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +6
> +bar:
> +0 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +2 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
> +*
> +3 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +5 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
> +*
> +6
>
>  Testing with lzo compression...
> -wrote 4096/4096 bytes at offset 0
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 8192/8192 bytes at offset 4096
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 4096/4096 bytes at offset 12288
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 4096/4096 bytes at offset 8192
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 8192/8192 bytes at offset 12288
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -wrote 4096/4096 bytes at offset 20480
> -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -File digests before unmounting filesystem:
> -4b985a45790261a706c3ddbf22c5f765  SCRATCH_MNT/foo
> -fd331e6b7a9ab105f48f71b53162d5b5  SCRATCH_MNT/bar
> -File digests after mounting filesystem again:
> -4b985a45790261a706c3ddbf22c5f765  SCRATCH_MNT/foo
> -fd331e6b7a9ab105f48f71b53162d5b5  SCRATCH_MNT/bar
> +Blocks modified: [0 - 0]
> +Blocks modified: [1 - 2]
> +Blocks modified: [3 - 3]
> +Blocks modified: [2 - 2]
> +Blocks modified: [3 - 4]
> +Blocks modified: [5 - 5]
> +File contents before unmounting filesystem:
> +foo:
> +0 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
> +*
> +1 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
> +*
> +4 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +6
> +bar:
> +0 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +2 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
> +*
> +3 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +5 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
> +*
> +6
> +File contents after mounting filesystem again:
> +foo:
> +0 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
> +*
> +1 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
> +*
> +4 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +6
> +bar:
> +0 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +2 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
> +*
> +3 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb
> +*
> +5 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
> +*
> +6
> --
> 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."

  reply	other threads:[~2015-12-10 17:27 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-30 10:17 [PATCH 0/8] PART 2: Fix Btrfs tests to work on non-4k block sized fs instances Chandan Rajendra
2015-11-30 10:17 ` [PATCH 1/8] Filter xfs_io's output in units of page size Chandan Rajendra
2015-12-10 17:26   ` Filipe Manana
2015-11-30 10:17 ` [PATCH 2/8] Fix btrfs/052 to work on non-4k block sized filesystems Chandan Rajendra
2015-12-10 17:28   ` Filipe Manana
2015-11-30 10:17 ` [PATCH 3/8] Fix btrfs/094 " Chandan Rajendra
2015-12-10 17:26   ` Filipe Manana
2015-11-30 10:17 ` [PATCH 4/8] Fix btrfs/095 " Chandan Rajendra
2015-12-10 17:27   ` Filipe Manana
2015-11-30 10:17 ` [PATCH 5/8] Fix btrfs/097 " Chandan Rajendra
2015-12-10 17:27   ` Filipe Manana
2015-11-30 10:17 ` [PATCH 6/8] Fix btrfs/098 " Chandan Rajendra
2015-12-10 17:27   ` Filipe Manana
2015-11-30 10:17 ` [PATCH 7/8] Fix btrfs/103 " Chandan Rajendra
2015-12-10 17:27   ` Filipe Manana [this message]
2015-11-30 10:17 ` [PATCH 8/8] Fix btrfs/106 to work on non-4k page sized machines Chandan Rajendra
2015-12-10 17:28   ` Filipe Manana

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAL3q7H4MH9re2=s0Vfq5SE6qVNhmhA9Ku8wXhaR2Nefv13s0cQ@mail.gmail.com' \
    --to=fdmanana@gmail.com \
    --cc=chandan@linux.vnet.ibm.com \
    --cc=chandan@mykolab.com \
    --cc=fstests@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.