]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
qa: krbd_blkroset.t: attempt discards in addition to writes
authorIlya Dryomov <idryomov@gmail.com>
Tue, 20 Feb 2018 14:50:57 +0000 (15:50 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Tue, 20 Feb 2018 14:54:41 +0000 (15:54 +0100)
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 <idryomov@gmail.com>
qa/rbd/krbd_blkroset.t

index 8804eea3c5652e701e47d4cbd69e378e66b53f6f..5343584229f43a6f9b25c8341a5b67d4fb2f95b3 100644 (file)
@@ -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