From 153af6b90a35af7fb2e9b0e6898224d2f1cb55d0 Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Tue, 20 Feb 2018 15:50:57 +0100 Subject: [PATCH] qa: krbd_blkroset.t: attempt discards in addition to writes The block layer used to not enforce ioctl(BLKROSET) and set_disk_ro(). This has been fixed in 4.16-rc1. Signed-off-by: Ilya Dryomov --- qa/rbd/krbd_blkroset.t | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/qa/rbd/krbd_blkroset.t b/qa/rbd/krbd_blkroset.t index 8804eea3c56..5343584229f 100644 --- a/qa/rbd/krbd_blkroset.t +++ b/qa/rbd/krbd_blkroset.t @@ -24,6 +24,7 @@ R/W, unpartitioned: $ blockdev --getro $DEV 0 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none + $ blkdiscard $DEV $ blockdev --setro $DEV .*BLKROSET: Permission denied (re) [1] @@ -33,6 +34,9 @@ R/W, unpartitioned: $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?': Operation not permitted (glob) [1] + $ blkdiscard $DEV + blkdiscard: /dev/rbd?: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ blockdev --setrw $DEV .*BLKROSET: Permission denied (re) [1] @@ -40,6 +44,7 @@ R/W, unpartitioned: $ blockdev --getro $DEV 0 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none + $ blkdiscard $DEV $ sudo rbd unmap $DEV R/W, partitioned: @@ -51,7 +56,9 @@ R/W, partitioned: $ blockdev --getro ${DEV}p2 0 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p1 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p2 $ blockdev --setro ${DEV}p1 .*BLKROSET: Permission denied (re) [1] @@ -63,7 +70,11 @@ R/W, partitioned: $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?p1': Operation not permitted (glob) [1] + $ blkdiscard ${DEV}p1 + blkdiscard: /dev/rbd?p1: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p2 $ blockdev --setrw ${DEV}p1 .*BLKROSET: Permission denied (re) [1] @@ -73,7 +84,9 @@ R/W, partitioned: $ blockdev --getro ${DEV}p2 0 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p1 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p2 $ sudo rbd unmap $DEV $ DEV=$(sudo rbd map imgpart) @@ -83,7 +96,9 @@ R/W, partitioned: $ blockdev --getro ${DEV}p2 0 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p1 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p2 $ blockdev --setro ${DEV}p2 .*BLKROSET: Permission denied (re) [1] @@ -93,9 +108,13 @@ R/W, partitioned: $ blockdev --getro ${DEV}p2 1 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p1 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?p2': Operation not permitted (glob) [1] + $ blkdiscard ${DEV}p2 + blkdiscard: /dev/rbd?p2: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ blockdev --setrw ${DEV}p2 .*BLKROSET: Permission denied (re) [1] @@ -105,7 +124,9 @@ R/W, partitioned: $ blockdev --getro ${DEV}p2 0 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p1 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p2 $ sudo rbd unmap $DEV R/O, unpartitioned: @@ -116,6 +137,9 @@ R/O, unpartitioned: $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?': Operation not permitted (glob) [1] + $ blkdiscard $DEV + blkdiscard: /dev/rbd?: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ blockdev --setrw $DEV .*BLKROSET: Permission denied (re) [1] @@ -123,6 +147,7 @@ R/O, unpartitioned: $ blockdev --getro $DEV 0 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none + $ blkdiscard $DEV $ sudo rbd unmap $DEV R/O, partitioned: @@ -136,9 +161,15 @@ R/O, partitioned: $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?p1': Operation not permitted (glob) [1] + $ blkdiscard ${DEV}p1 + blkdiscard: /dev/rbd?p1: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?p2': Operation not permitted (glob) [1] + $ blkdiscard ${DEV}p2 + blkdiscard: /dev/rbd?p2: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ blockdev --setrw ${DEV}p1 .*BLKROSET: Permission denied (re) [1] @@ -152,7 +183,9 @@ R/O, partitioned: $ blockdev --getro ${DEV}p2 0 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p1 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none + $ blkdiscard ${DEV}p2 $ sudo rbd unmap $DEV @@ -167,6 +200,9 @@ Unpartitioned: $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?': Operation not permitted (glob) [1] + $ blkdiscard $DEV + blkdiscard: /dev/rbd?: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ blockdev --setrw $DEV .*BLKROSET: Permission denied (re) [1] @@ -178,6 +214,9 @@ Unpartitioned: $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?': Operation not permitted (glob) [1] + $ blkdiscard $DEV + blkdiscard: /dev/rbd?: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ sudo rbd unmap $DEV Partitioned: @@ -191,9 +230,15 @@ Partitioned: $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?p1': Operation not permitted (glob) [1] + $ blkdiscard ${DEV}p1 + blkdiscard: /dev/rbd?p1: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?p2': Operation not permitted (glob) [1] + $ blkdiscard ${DEV}p2 + blkdiscard: /dev/rbd?p2: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ blockdev --setrw ${DEV}p1 .*BLKROSET: Permission denied (re) [1] @@ -213,9 +258,15 @@ Partitioned: $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?p1': Operation not permitted (glob) [1] + $ blkdiscard ${DEV}p1 + blkdiscard: /dev/rbd?p1: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none dd: error writing '/dev/rbd?p2': Operation not permitted (glob) [1] + $ blkdiscard ${DEV}p2 + blkdiscard: /dev/rbd?p2: BLKDISCARD ioctl failed: Operation not permitted (glob) + [1] $ sudo rbd unmap $DEV -- 2.39.5