$ 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]
$ 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]
$ 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:
$ 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]
$ 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]
$ 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)
$ 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]
$ 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]
$ 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:
$ 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]
$ 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:
$ 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]
$ 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
$ 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]
$ 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:
$ 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]
$ 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