Skip to main content

nvme_error_log_page

Struct nvme_error_log_page 

Source
#[repr(C)]
pub struct nvme_error_log_page {
Show 15 fields pub error_count: __le64, pub sqid: __le16, pub cmdid: __le16, pub status_field: __le16, pub parm_error_location: __le16, pub lba: __le64, pub nsid: __le32, pub vs: __u8, pub trtype: __u8, pub csi: __u8, pub opcode: __u8, pub cs: __le64, pub trtype_spec_info: __le16, pub rsvd: [__u8; 21], pub log_page_version: __u8,
}
Expand description

struct nvme_error_log_page - Error Information Log Entry (Log Identifier 01h) @error_count: Error Count: a 64-bit incrementing error count, indicating a unique identifier for this error. The error count starts at %1h, is incremented for each unique error log entry, and is retained across power off conditions. A value of %0h indicates an invalid entry; this value is used when there are lost entries or when there are fewer errors than the maximum number of entries the controller supports. If the value of this field is %FFFFFFFFh, then the field shall be set to 1h when incremented (i.e., rolls over to %1h). Prior to NVMe 1.4, processing of incrementing beyond %FFFFFFFFh is unspecified. @sqid: Submission Queue ID: indicates the Submission Queue Identifier of the command that the error information is associated with. If the error is not specific to a particular command, then this field shall be set to %FFFFh. @cmdid: Command ID: indicates the Command Identifier of the command that the error is associated with. If the error is not specific to a particular command, then this field shall be set to %FFFFh. @status_field: Bits 15-1: Status Field: indicates the Status Field for the command that completed. If the error is not specific to a particular command, then this field reports the most applicable status value. Bit 0: Phase Tag: may indicate the Phase Tag posted for the command. @parm_error_location: Parameter Error Location: indicates the byte and bit of the command parameter that the error is associated with, if applicable. If the parameter spans multiple bytes or bits, then the location indicates the first byte and bit of the parameter. Bits 10-8: Bit in command that contained the error. Valid values are 0 to 7. Bits 7-0: Byte in command that contained the error. Valid values are 0 to 63. @lba: LBA: This field indicates the first LBA that experienced the error condition, if applicable. @nsid: Namespace: This field indicates the NSID of the namespace that the error is associated with, if applicable. @vs: Vendor Specific Information Available: If there is additional vendor specific error information available, this field provides the log page identifier associated with that page. A value of %0h indicates that no additional information is available. Valid values are in the range of %80h to %FFh. @trtype: Transport Type (TRTYPE): indicates the Transport Type of the transport associated with the error. The values in this field are the same as the TRTYPE values in the Discovery Log Page Entry. If the error is not transport related, this field shall be cleared to %0h. If the error is transport related, this field shall be set to the type of the transport - see &enum nvme_trtype. @csi: Command Set Indicator: This field contains command set indicator for the command that the error is associated with. @opcode: Opcode: This field contains opcode for the command that the error is associated with. @cs: Command Specific Information: This field contains command specific information. If used, the command definition specifies the information returned. @trtype_spec_info: Transport Type Specific Information @rsvd: Reserved: [62:42] @log_page_version: This field shall be set to 1h. If set, @csi and @opcode will have valid values.

Fields§

§error_count: __le64§sqid: __le16§cmdid: __le16§status_field: __le16§parm_error_location: __le16§lba: __le64§nsid: __le32§vs: __u8§trtype: __u8§csi: __u8§opcode: __u8§cs: __le64§trtype_spec_info: __le16§rsvd: [__u8; 21]§log_page_version: __u8

Trait Implementations§

Source§

impl Clone for nvme_error_log_page

Source§

fn clone(&self) -> nvme_error_log_page

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for nvme_error_log_page

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for nvme_error_log_page

Source§

fn default() -> nvme_error_log_page

Returns the “default value” for a type. Read more
Source§

impl Copy for nvme_error_log_page

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.