spdk_nvme_ns_data Struct Reference

Data Fields

uint64_t nsze
 namespace size
uint64_t ncap
 namespace capacity
uint64_t nuse
 namespace utilization
struct {
   uint8_t   thin_prov: 1
 thin provisioning
   uint8_t   ns_atomic_write_unit: 1
 NAWUN, NAWUPF, and NACWU are defined for this namespace.
   uint8_t   dealloc_or_unwritten_error: 1
 Supports Deallocated or Unwritten LBA error for this namespace.
   uint8_t   guid_never_reused: 1
 Non-zero NGUID and EUI64 for namespace are never reused.
   uint8_t   optperf: 1
 Optimal Performance field.
   uint8_t   reserved1: 3
 namespace features
uint8_t nlbaf
 number of lba formats
struct {
   uint8_t   format: 4
   uint8_t   extended: 1
   uint8_t   reserved2: 3
 formatted lba size
struct {
   uint8_t   extended: 1
 metadata can be transferred as part of data prp list
   uint8_t   pointer: 1
 metadata can be transferred with separate metadata pointer
   uint8_t   reserved3: 6
 metadata capabilities
struct {
   uint8_t   pit1: 1
 protection information type 1
   uint8_t   pit2: 1
 protection information type 2
   uint8_t   pit3: 1
 protection information type 3
   uint8_t   md_start: 1
 first eight bytes of metadata
   uint8_t   md_end: 1
 last eight bytes of metadata
 end-to-end data protection capabilities
struct {
   uint8_t   pit: 3
 protection information type
   uint8_t   md_start: 1
 1 == protection info transferred at start of metadata More...
   uint8_t   reserved4: 4
 end-to-end data protection type settings
struct {
   uint8_t   can_share: 1
   uint8_t   reserved: 7
 namespace multi-path I/O and namespace sharing capabilities
union {
   struct {
      uint8_t   persist: 1
 supports persist through power loss
      uint8_t   write_exclusive: 1
 supports write exclusive
      uint8_t   exclusive_access: 1
 supports exclusive access
      uint8_t   write_exclusive_reg_only: 1
 supports write exclusive - registrants only
      uint8_t   exclusive_access_reg_only: 1
 supports exclusive access - registrants only
      uint8_t   write_exclusive_all_reg: 1
 supports write exclusive - all registrants
      uint8_t   exclusive_access_all_reg: 1
 supports exclusive access - all registrants
      uint8_t   ignore_existing_key: 1
 supports ignore existing key
   }   rescap
   uint8_t   raw
 reservation capabilities
struct {
   uint8_t   percentage_remaining: 7
   uint8_t   fpi_supported: 1
 format progress indicator
union {
   uint8_t   raw
   struct {
      uint8_t   read_value: 3
 Value read from deallocated blocks. More...
      uint8_t   write_zero_deallocate: 1
 Supports Deallocate bit in Write Zeroes.
      uint8_t   guard_value: 1
 Guard field behavior for deallocated logical blocks 0: contains 0xFFFF 1: contains CRC for read value.
      uint8_t   reserved: 3
   }   bits
 deallocate logical features
uint16_t nawun
 namespace atomic write unit normal
uint16_t nawupf
 namespace atomic write unit power fail
uint16_t nacwu
 namespace atomic compare & write unit
uint16_t nabsn
 namespace atomic boundary size normal
uint16_t nabo
 namespace atomic boundary offset
uint16_t nabspf
 namespace atomic boundary size power fail
uint16_t noiob
 namespace optimal I/O boundary in logical blocks
uint64_t nvmcap [2]
 NVM capacity.
uint16_t npwg
 Namespace Preferred Write Granularity.
uint16_t npwa
 Namespace Preferred Write Alignment.
uint16_t npdg
 Namespace Preferred Deallocate Granularity.
uint16_t npda
 Namespace Preferred Deallocate Alignment.
uint16_t nows
 Namespace Optimal Write Size.
uint16_t mssrl
 Maximum Single Source Range Length.
uint32_t mcl
 Maximum Copy Length.
uint8_t msrc
 Maximum Source Range Count.
uint8_t reserved64 [11]
uint32_t anagrpid
 ANA group identifier.
uint8_t reserved96 [8]
uint8_t nguid [16]
 namespace globally unique identifier
uint64_t eui64
 IEEE extended unique identifier.
struct {
   uint32_t   ms: 16
 metadata size
   uint32_t   lbads: 8
 lba data size
   uint32_t   rp: 2
 relative performance
   uint32_t   reserved6: 6
lbaf [16]
 lba format support
uint8_t reserved6 [192]
uint8_t vendor_specific [3712]

Field Documentation

◆ md_start

uint8_t spdk_nvme_ns_data::md_start

first eight bytes of metadata

1 == protection info transferred at start of metadata

0 == protection info transferred at end of metadata

◆ read_value

uint8_t spdk_nvme_ns_data::read_value

Value read from deallocated blocks.

000b = not reported 001b = all bytes 0x00 010b = all bytes 0xFF


The documentation for this struct was generated from the following file: