NVME translations
cu12 opened this issue · comments
Domonkos Czinke commented
Hi all, trying to use sg_persist
for reservations of a Dell rebranded Intel NVME, but got the following error. I'm using a version compiled from master
. Any clue what could be done here?
root@zfs-1:~# sg_inq -d /dev/nvme0n1
Identify controller for /dev/nvme0n1:
Model number: Dell Express Flash NVMe P4600 1.6TB SFF
Serial number: PHLE842101GC1P6CGN
Firmware revision: QDV1DP15
Version: 1.2
Optional admin command support:
Firmware download and commit
Format NVM
Optional NVM command support:
Dataset management
Write uncorrectable
PCI vendor ID VID/SSVID: 0x8086/0x1028
IEEE OUI Identifier: 0x5cd2e4
Controller ID: 0x0
Number of namespaces: 1
Total NVM capacity: 1600321314816 bytes
Maximum data transfer size: 32 pages
Namespace 1 (deduced from device name):
Namespace size/capacity: 390703446/390703446 blocks
Namespace utilization: 390703446 blocks
NGUID: 0x01000000010000005cd2e4b9854a5051
EUI-64: 0x5cd2e4b9854a0100
Number of LBA formats: 2
Index LBA size: 1
LBA format 0 support:
Logical block size: 512 bytes
Approximate namespace size: 200 GB
Metadata size: 0 bytes
Relative performance: Good [0x2]
LBA format 1 support: <-- active
Logical block size: 4096 bytes
Approximate namespace size: 0 GB
Metadata size: 0 bytes
Relative performance: Best [0x0]
root@zfs-1:~# /usr/bin/sg_persist -n -i -k -d /dev/nvme0n1 -vvv
open /dev/nvme0n1 with flags=0x802
Persistent reservation in cdb: 5e 00 00 00 00 00 00 20 00 00
sg_do_nvme_pt: no translation to NVMe for SCSI Persistent reserve in, read keys command
duration=0 ms
Persistent reservation in:
Fixed format, current; Sense key: Illegal Request
Additional sense: Invalid command operation code
Raw sense data (in hex), sb_len=18, embedded_len=18
70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00
00 00
PR in (Read keys): command not supported
root@zfs-1:~# uname -r
4.15.0-48-generic
Hannes Reinecke commented
SCSI translations are deprecated, and won't be supported anymore.
Please use the nvme-cli commands 'resv-acquire', 'resv-register', and 'resv-register' to handle reservations on NVMe.