Getting nvme disk corruptions when issuing IDENTIFY commands via ioctl()
Issue
- Getting nvme disk corruptions when issuing IDENTIFY commands via ioctl()
-
Filesystem created on nvme disk gets corrupt when the application sends NVME_IOCTL_ADMIN_CMD / IDENTIFY command to the disk:
EXT4-fs error (device nvme0n1): ext4_ext_find_extent:885: inode #2: comm cp: pblk 138 bad header/extent: invalid magic - magic a8, entries 0, max 20(0), depth 267(0) EXT4-fs warning: 571 callbacks suppressed EXT4-fs warning (device nvme0n1): __ext4_read_dirblock:676: error reading directory block (ino 2, block 0) EXT4-fs error (device nvme0n1): ext4_ext_find_extent:885: inode #2: comm cksum: pblk 138 bad header/extent: invalid magic - magic a8, entries 0, max 20(0), depth 267(0) EXT4-fs warning (device nvme0n1): __ext4_read_dirblock:676: error reading directory block (ino 2, block 0) EXT4-fs error (device nvme0n1): ext4_ext_find_extent:885: inode #2: comm cp: pblk 138 bad header/extent: invalid magic - magic a8, entries 0, max 20(0), depth 267(0) EXT4-fs warning (device nvme0n1): __ext4_read_dirblock:676: error reading directory block (ino 2, block 0) [...]
Similar corruption is seen across the filesystems created directly on nvme disk as well as lvm volumes, mdraid devices created on top of nvme disk.
Environment
- Red Hat Enterprise Linux 7, 8, 9
- NVME disk
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.