From 031bbea739569721f767f9308ee73f5cf550167d Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Thu, 31 Jan 2019 18:54:24 +0100 Subject: [PATCH] qa: krbd discard with alloc_size vs zeroout tests Signed-off-by: Ilya Dryomov --- qa/rbd/krbd_discard.t | 398 +++++++++++++++++ qa/rbd/krbd_discard_1b.t | 416 ++++++++++++++++++ qa/rbd/krbd_discard_4M.t | 330 +++++++++++++++ qa/rbd/krbd_zeroout.t | 422 +++++++++++++++++++ qa/suites/krbd/basic/tasks/krbd_discard.yaml | 8 + 5 files changed, 1574 insertions(+) create mode 100644 qa/rbd/krbd_discard.t create mode 100644 qa/rbd/krbd_discard_1b.t create mode 100644 qa/rbd/krbd_discard_4M.t create mode 100644 qa/rbd/krbd_zeroout.t create mode 100644 qa/suites/krbd/basic/tasks/krbd_discard.yaml diff --git a/qa/rbd/krbd_discard.t b/qa/rbd/krbd_discard.t new file mode 100644 index 0000000000000..a76f3bfcf2091 --- /dev/null +++ b/qa/rbd/krbd_discard.t @@ -0,0 +1,398 @@ + + $ rbd create --size 4M img + $ DEV=$(sudo rbd map img) + +Zero, < 1 block: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 156672 -l 512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 64512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 1 block: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 66560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, < 2 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 163840 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 130048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0030000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 2 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 131072 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 132096 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 37 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 589824 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0090000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02e0000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 589312 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0090000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02d0000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 590336 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 00a0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02e0000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Truncate: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4193792 -l 512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4129280 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4128768 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4128256 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4063744 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4063232 -l 131072 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03e0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4062720 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03e0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 512 -l 4193792 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0010000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + +Delete: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + +Empty clone: + + $ xfs_io -c 'pwrite -S 0xab -w 0 4M' $DEV >/dev/null + $ sudo rbd unmap $DEV + $ rbd snap create img@snap + $ rbd snap protect img@snap + + $ rbd clone img@snap cloneimg1 + $ DEV=$(sudo rbd map cloneimg1) + $ blkdiscard -o 720896 -l 2719744 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + + $ rbd clone img@snap cloneimg2 + $ DEV=$(sudo rbd map cloneimg2) + $ blkdiscard -o 1474560 -l 2719744 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + + $ rbd clone img@snap cloneimg3 + $ DEV=$(sudo rbd map cloneimg3) + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + +Full clone: + + $ rbd clone img@snap cloneimg4 + $ DEV=$(sudo rbd map cloneimg4) + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 720896 -l 2719744 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 00b0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0340000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 1474560 -l 2719744 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0170000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ sudo rbd unmap $DEV + +Multiple object requests: + + $ rbd create --size 50M --stripe-unit 16K --stripe-count 5 fancyimg + $ DEV=$(sudo rbd map fancyimg) + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 143360 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 286720 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0008000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0014000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 001c000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0028000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 003c000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0044000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 573440 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0050000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ sudo rbd unmap $DEV + + $ rbd rm --no-progress fancyimg + $ rbd rm --no-progress cloneimg4 + $ rbd rm --no-progress cloneimg3 + $ rbd rm --no-progress cloneimg2 + $ rbd rm --no-progress cloneimg1 + $ rbd snap unprotect img@snap + $ rbd snap rm --no-progress img@snap + $ rbd rm --no-progress img diff --git a/qa/rbd/krbd_discard_1b.t b/qa/rbd/krbd_discard_1b.t new file mode 100644 index 0000000000000..5013e30fc2a7f --- /dev/null +++ b/qa/rbd/krbd_discard_1b.t @@ -0,0 +1,416 @@ + + $ rbd create --size 4M img + $ DEV=$(sudo rbd map -o alloc_size=1 img) + +Zero, < 1 block: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 156672 -l 512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0026400 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0026600 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 64512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 002fe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 002fe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 1 block: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 001fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 66560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 001fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, < 2 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 163840 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0028000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0038000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 130048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 003fe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 003fe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 2 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 131072 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 001fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 132096 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 001fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 37 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 589824 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0090000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02e0000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 589312 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 008fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02dfe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 590336 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0090200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02e0200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Truncate: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4193792 -l 512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03ffe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4129280 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4128768 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4128256 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03efe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4063744 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03e0200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4063232 -l 131072 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03e0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4062720 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03dfe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 512 -l 4193792 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0000200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + +Delete: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + +Empty clone: + + $ xfs_io -c 'pwrite -S 0xab -w 0 4M' $DEV >/dev/null + $ sudo rbd unmap $DEV + $ rbd snap create img@snap + $ rbd snap protect img@snap + + $ rbd clone img@snap cloneimg1 + $ DEV=$(sudo rbd map -o alloc_size=1 cloneimg1) + $ blkdiscard -o 720896 -l 2719744 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + + $ rbd clone img@snap cloneimg2 + $ DEV=$(sudo rbd map -o alloc_size=1 cloneimg2) + $ blkdiscard -o 1474560 -l 2719744 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + + $ rbd clone img@snap cloneimg3 + $ DEV=$(sudo rbd map -o alloc_size=1 cloneimg3) + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + +Full clone: + + $ rbd clone img@snap cloneimg4 + $ DEV=$(sudo rbd map -o alloc_size=1 cloneimg4) + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 720896 -l 2719744 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 00b0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0348000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 1474560 -l 2719744 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0168000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ sudo rbd unmap $DEV + +Multiple object requests: + + $ rbd create --size 50M --stripe-unit 16K --stripe-count 5 fancyimg + $ DEV=$(sudo rbd map -o alloc_size=1 fancyimg) + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 143360 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0023000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 286720 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0046000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 573440 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 008c000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ sudo rbd unmap $DEV + + $ rbd rm --no-progress fancyimg + $ rbd rm --no-progress cloneimg4 + $ rbd rm --no-progress cloneimg3 + $ rbd rm --no-progress cloneimg2 + $ rbd rm --no-progress cloneimg1 + $ rbd snap unprotect img@snap + $ rbd snap rm --no-progress img@snap + $ rbd rm --no-progress img diff --git a/qa/rbd/krbd_discard_4M.t b/qa/rbd/krbd_discard_4M.t new file mode 100644 index 0000000000000..395f0241d699c --- /dev/null +++ b/qa/rbd/krbd_discard_4M.t @@ -0,0 +1,330 @@ + + $ rbd create --size 4M img + $ DEV=$(sudo rbd map -o alloc_size=4194304 img) + +Zero, < 1 block: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 156672 -l 512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 64512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 1 block: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 66560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, < 2 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 163840 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 130048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131584 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 2 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 131072 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 131072 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 130560 -l 132096 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 37 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 589824 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 589312 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 590336 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Truncate: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4193792 -l 512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03ffe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4129280 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4128768 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4128256 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03efe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4063744 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03e0200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4063232 -l 131072 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03e0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 4062720 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03dfe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 512 -l 4193792 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0000200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + +Delete: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + +Empty clone: + + $ xfs_io -c 'pwrite -S 0xab -w 0 4M' $DEV >/dev/null + $ sudo rbd unmap $DEV + $ rbd snap create img@snap + $ rbd snap protect img@snap + + $ rbd clone img@snap cloneimg1 + $ DEV=$(sudo rbd map -o alloc_size=4194304 cloneimg1) + $ blkdiscard -o 720896 -l 2719744 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + + $ rbd clone img@snap cloneimg2 + $ DEV=$(sudo rbd map -o alloc_size=4194304 cloneimg2) + $ blkdiscard -o 1474560 -l 2719744 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + + $ rbd clone img@snap cloneimg3 + $ DEV=$(sudo rbd map -o alloc_size=4194304 cloneimg3) + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + +Full clone: + + $ rbd clone img@snap cloneimg4 + $ DEV=$(sudo rbd map -o alloc_size=4194304 cloneimg4) + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 720896 -l 2719744 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 1474560 -l 2719744 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0168000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ blkdiscard -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ sudo rbd unmap $DEV + +Multiple object requests: + + $ rbd create --size 50M --stripe-unit 16K --stripe-count 5 fancyimg + $ DEV=$(sudo rbd map -o alloc_size=4194304 fancyimg) + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 143360 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 286720 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ blkdiscard -o 0 -l 573440 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ sudo rbd unmap $DEV + + $ rbd rm --no-progress fancyimg + $ rbd rm --no-progress cloneimg4 + $ rbd rm --no-progress cloneimg3 + $ rbd rm --no-progress cloneimg2 + $ rbd rm --no-progress cloneimg1 + $ rbd snap unprotect img@snap + $ rbd snap rm --no-progress img@snap + $ rbd rm --no-progress img diff --git a/qa/rbd/krbd_zeroout.t b/qa/rbd/krbd_zeroout.t new file mode 100644 index 0000000000000..33c8e9d9e113a --- /dev/null +++ b/qa/rbd/krbd_zeroout.t @@ -0,0 +1,422 @@ + + $ rbd create --size 4M img + $ DEV=$(sudo rbd map img) + +Zero, < 1 block: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 156672 -l 512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0026400 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0026600 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131584 -l 64512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 002fe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131584 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131072 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 002fe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 1 block: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131072 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131072 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 130560 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 001fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 130560 -l 66560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 001fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0030200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, < 2 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 163840 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0028000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0038000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131584 -l 130048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 003fe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131584 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131072 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 003fe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 2 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131072 -l 131072 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 131072 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0020000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 130560 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 001fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 130560 -l 132096 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 001fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0040200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Zero, 37 blocks: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 589824 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0090000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02e0000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 589312 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 008fe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02dfe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 590336 -l 2424832 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0090200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 02e0200 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + +Truncate: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 4193792 -l 512 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03ffe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 4129280 -l 65024 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 4128768 -l 65536 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03f0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 4128256 -l 66048 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03efe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 4063744 -l 130560 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03e0200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 4063232 -l 131072 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03e0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 4062720 -l 131584 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 03dfe00 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 512 -l 4193792 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0000200 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + +Delete: + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + +Empty clone: + + $ xfs_io -c 'pwrite -S 0xab -w 0 4M' $DEV >/dev/null + $ sudo rbd unmap $DEV + $ rbd snap create img@snap + $ rbd snap protect img@snap + + $ rbd clone img@snap cloneimg1 + $ DEV=$(sudo rbd map cloneimg1) + $ fallocate -z -o 720896 -l 2719744 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 00b0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0348000 abab abab abab abab abab abab abab abab + * + 0400000 + $ sudo rbd unmap $DEV + + $ rbd clone img@snap cloneimg2 + $ DEV=$(sudo rbd map cloneimg2) + $ fallocate -z -o 1474560 -l 2719744 $DEV + $ hexdump $DEV + 0000000 abab abab abab abab abab abab abab abab + * + 0168000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + $ sudo rbd unmap $DEV + + $ rbd clone img@snap cloneimg3 + $ DEV=$(sudo rbd map cloneimg3) + $ fallocate -z -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + $ sudo rbd unmap $DEV + +Full clone: + + $ rbd clone img@snap cloneimg4 + $ DEV=$(sudo rbd map cloneimg4) + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 720896 -l 2719744 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 00b0000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0348000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 1474560 -l 2719744 $DEV + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0168000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ xfs_io -c 'pwrite -w 0 4M' $DEV >/dev/null + $ fallocate -z -o 0 -l 4194304 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0400000 + + $ sudo rbd unmap $DEV + +Multiple object requests: + + $ rbd create --size 50M --stripe-unit 16K --stripe-count 5 fancyimg + $ DEV=$(sudo rbd map fancyimg) + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ fallocate -z -o 0 -l 143360 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0023000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ fallocate -z -o 0 -l 286720 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0046000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ xfs_io -c 'pwrite -b 4M -w 0 50M' $DEV >/dev/null + $ fallocate -z -o 0 -l 573440 $DEV + $ hexdump $DEV + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 008c000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 3200000 + + $ sudo rbd unmap $DEV + + $ rbd rm --no-progress fancyimg + $ rbd rm --no-progress cloneimg4 + $ rbd rm --no-progress cloneimg3 + $ rbd rm --no-progress cloneimg2 + $ rbd rm --no-progress cloneimg1 + $ rbd snap unprotect img@snap + $ rbd snap rm --no-progress img@snap + $ rbd rm --no-progress img diff --git a/qa/suites/krbd/basic/tasks/krbd_discard.yaml b/qa/suites/krbd/basic/tasks/krbd_discard.yaml new file mode 100644 index 0000000000000..4132caeb23021 --- /dev/null +++ b/qa/suites/krbd/basic/tasks/krbd_discard.yaml @@ -0,0 +1,8 @@ +tasks: +- cram: + clients: + client.0: + - qa/rbd/krbd_discard.t + - qa/rbd/krbd_discard_1b.t + - qa/rbd/krbd_discard_4M.t + - qa/rbd/krbd_zeroout.t -- 2.39.5