NVMe End-to-End Data Protection Description of problem: When activating end-to-end data protection inside qemu NVMe virtual namespace, guest can not read or write anything to discovered /dev/nvme0n1. Guest kernel has NVMe support compiled-in, when booting i get the following messages related to emulated nvme pi-enabled drive inside guest: ``` [ 0.661260] blk_update_request: protection error, dev nvme0n1, sector 4 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 0.663774] Buffer I/O error on dev nvme0n1, logical block 1, async page read [ 0.665043] blk_update_request: protection error, dev nvme0n1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 0.666976] Buffer I/O error on dev nvme0n1, logical block 0, async page read [ 0.676702] blk_update_request: protection error, dev nvme0n1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 0.678664] Buffer I/O error on dev nvme0n1, logical block 0, async page read [ 0.679923] blk_update_request: protection error, dev nvme0n1, sector 4 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 0.681811] Buffer I/O error on dev nvme0n1, logical block 1, async page read [ 0.683544] nvme0n1: unable to read partition table ``` Same when trying to read anything: ``` / # dd bs=512 count=1 skip=0 if=/dev/nvme0n1 iflag=direct [ 432.017616] blk_update_request: protection error, dev nvme0n1, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 0 [ 432.020596] blk_update_request: protection error, dev nvme0n1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 432.023530] Buffer I/O error on dev nvme0n1, logical block 0, async page read [ 432.025345] blk_update_request: protection error, dev nvme0n1, sector 4 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 432.028289] Buffer I/O error on dev nvme0n1, logical block 1, async page read dd: /dev/nvme0n1: Input/output error ``` And write: ``` / # dd bs=512 count=1 if=output.dat of=/dev/nvme0n1 [ 597.679455] blk_update_request: protection error, dev nvme0n1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 dd: error writing '/dev/nvme0n1': Input/output error 1+0 records in 0+0 records out 0 bytes (0B) copied, 0.003864 seconds, 0B/s ```