nvm_cmd - Raw Commands¶
nvm_cmd_opts¶
nvm_cmd_gfeat¶
-
int
nvm_cmd_gfeat
(struct nvm_dev * dev, uint8_t id, union nvm_spec_feat * feat, struct nvm_ret * ret)¶ Execute an Open-Channel 2.0 Get Feature command.
- Return
- 0 on success, -1 on error and errno set to indicate the error.
- Parameters
dev
: Device handle obtained withnvm_dev_open
id
: Feature identifier (see NVMe 1.3; Figure 84)feat
: Structure defining feature attributesret
: Pointer to structure in which to store lower-level status and result
nvm_cmd_idfy¶
-
struct nvm_spec_idfy*
nvm_cmd_idfy
(struct nvm_dev * dev, struct nvm_ret * ret)¶ Execute an Open-Channel 1.2 identify / Open-Channel 2.0 geometry command.
NOTE: Caller is responsible for de-allocating the returned structure
- Return
- On success, pointer identify structure is returned. On error, NULL is returned and
errno
set to indicate the error and ret filled with lower-level result codes
nvm_cmd_erase¶
-
int
nvm_cmd_erase
(struct nvm_dev * dev, struct nvm_addr addrs[], int naddrs, void * meta, uint16_t flags, struct nvm_ret * ret)¶ Execute an Open-Channel 1.2 erase / Open-Channel 2.0 reset command.
- Return
- On success, 0 is returned. On error, -1 is returned and
errno
set to indicate the error and ret filled with lower-level result codes
nvm_cmd_gbbt_arbs¶
-
int
nvm_cmd_gbbt_arbs
(struct nvm_dev * dev, int bs, int naddrs, struct nvm_addr addrs[])¶ Find an arbitrary set of ‘naddrs’ block-addresses on the given ‘dev’, in the given block state ‘bs’ and store them in the provided ‘addrs’ array.
- Return
- On success, 0 is returned. On error, -1 is returned and errno set to indicate the error.
nvm_cmd_sbbt¶
nvm_cmd_rprt¶
-
struct nvm_spec_rprt*
nvm_cmd_rprt
(struct nvm_dev * dev, struct nvm_addr * addr, int opt, struct nvm_ret * ret)¶ Executes one or multiple Open-Channel 2.0 get-log-page for chunk-information.
- Note
- Caller is responsible for de-allocating the returned structure
- Return
- On success, pointer report chunk structure is returned. On error, NULL is returned and
errno
set to indicate the error and ret filled with lower-level result codes - Parameters
dev
: Device handle obtained withnvm_dev_open
addr
: Pointer to astruct nvm_addr
containing the address of a chunk to report aboutopt
: Reporting options, seeenum nvm_spec_chunk_state
ret
: Pointer to structure in which to store lower-level status and result
nvm_cmd_rprt_arbs¶
-
int
nvm_cmd_rprt_arbs
(struct nvm_dev * dev, int cs, int naddrs, struct nvm_addr addrs[])¶ Find an arbitrary set of ‘naddrs’ chunk-addresses on the given ‘dev’, in the given chunk state ‘cs’ and store them in the provided ‘addrs’ array.
- Return
- 0 on success, -1 on error and errno set to indicate the error.
nvm_cmd_gbbt¶
-
struct nvm_spec_bbt*
nvm_cmd_gbbt
(struct nvm_dev * dev, struct nvm_addr addr, struct nvm_ret * ret)¶ Execute an Open-Channel 1.2 get bad-block-table command.
- Return
- On success, pointer to bad block table is returned. On error, NULL is returned and
errno
set to indicate the error and ret filled with lower-level result codes
nvm_cmd_sfeat¶
-
int
nvm_cmd_sfeat
(struct nvm_dev * dev, uint8_t id, const union nvm_spec_feat * feat, struct nvm_ret * ret)¶ Execute an Open-Channel 2.0 Set Feature command.
- Return
- 0 on success, -1 on error and errno set to indicate the error.
- Parameters
dev
: Device handle obtained withnvm_dev_open
id
: Feature identifier (see NVMe 1.3; Figure 84)feat
: Structure defining feature attributesret
: Pointer to structure in which to store lower-level status and result
nvm_cmd_copy¶
-
int
nvm_cmd_copy
(struct nvm_dev * dev, struct nvm_addr src[], struct nvm_addr dst[], int naddrs, uint16_t flags, struct nvm_ret * ret)¶ Execute an Open-Channel 2.0 vector-copy command.
- Return
- On success, 0 is returned. On error, -1 is returned and
errno
set to indicate the error and ret filled with lower-level result codes
nvm_cmd_write¶
-
int
nvm_cmd_write
(struct nvm_dev * dev, struct nvm_addr addrs[], int naddrs, const void * data, const void * meta, uint16_t flags, struct nvm_ret * ret)¶ Execute an Open-Channel 1.2 / 2.0 vector-write command.
- Return
- On success, 0 is returned. On error, -1 is returned and
errno
set to indicate the error and ret filled with lower-level result codes
nvm_cmd_read¶
-
int
nvm_cmd_read
(struct nvm_dev * dev, struct nvm_addr addrs[], int naddrs, void * data, void * meta, uint16_t flags, struct nvm_ret * ret)¶ Execute an Open-Channel 1.2 / 2.0 vector-read command.
- Return
- On success, 0 is returned. On error, -1 is returned and
errno
set to indicate the error and ret filled with lower-level result codes