NAME
nvme_init_read - Initialize passthru command for a user read command
SYNOPSIS
void nvme_init_read (struct libnvme_passthru_cmd *cmd , __u32 nsid , __u64 slba , __u16 nlb , __u16 control , __u8 dsm , __u16 cev , void *data , __u32 data_len , void *metadata , __u32 metadata_len );
ARGUMENTS
- cmd
-
Passthru command to use
- nsid
-
Namespace ID
- slba
-
Starting logical block
- nlb
-
Number of logical blocks (0-based)
- control
-
Upper 16 bits of cdw12
- dsm
-
Data set management attributes (CETYPE is zero), see enum nvme_io_dsm_flags
- cev
-
Command Extension Value (CETYPE is non-zero)
- data
-
Pointer to user address of the data buffer
- data_len
-
Length of user buffer, data, in bytes
- metadata
-
Pointer to user address of the metadata buffer
- metadata_len
-
Length of user buffer, metadata, in bytes
DESCRIPTION
Initializes the passthru command buffer for the Read command.
NOTE
Assumes a macro or separate function exists to translate the combined NLB/control/prinfo fields into cdw12/cdw13. This transformation assumes the parameters are used for a generic nvme_init_io wrapper.