libnvme(9)
π libnvme β struct nvme_lm_migration_send_args π
okay bestie, so this page lives in the libnvme API manual, and it's all about one lil struct: the arguments for the Migration Send command. that's it. that's the whole vibe. let's get into it π¦
β¨ NAME β¨
struct nvme_lm_migration_send_args β Arguments for the Migration Send command
πΈ SYNOPSIS πΈ
struct nvme_lm_migration_send_args {
__u64 offset;
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 numd;
__u16 mos;
__u16 cntlid;
__u16 csuuidi;
__u8 sel;
__u8 uidx;
__u8 stype;
__u8 seqind;
__u8 csvi;
bool dudmq;
};
π Members π
offsetβ Offset: this one says where in the data you're starting, in bytes, inside all the data that's available to be returned. basically it sets the starting point for whatever actually gets handed back to the host. πresultβ on completion this gets set to the command's CQE DWORD 0 controller response. she reports back fr fr.dataβ Pointer to data. yes ma'am, the data pointer.args_sizeβ Length of structure. how big she is.fdβ File descriptor of nvme device. that's your connection to the device, bestie.timeoutβ Timeout in ms. clock's ticking β°numdβ Number of Dwords (NUMD): this field specifies the number of dwords being transferred. dwords. not words. dwords. πmosβ Management Operation Specific (MOS): this field is specific to theSELtype. it's giving "depends who's asking".cntlidβ Controller ID: this field specifies the identifier of the controller that the operation gets performed on. π―csuuidiβ Controller State UUID Index (CSUUIDI): a non-zero value here specifies the index to a specific entry in the Vendor Specific Controller State UUID Supported. list of the Supported Controller State Formats data structure. (that sentence is exactly what the manpage says, I'm just the messenger π«Ά)selβ Select (SEL): this field specifies the type of management operation to perform. the main character selector, lowkey.uidxβ UUID Index (UIDX): if this field is set to a non-zero value, then the value of this field is the index of a UUID in the UUID List (refer to Figure 320) that is used by the command. πstypeβ Suspend Type (STYPE): this field specifies the type of suspend. which flavour of suspend, if you will.seqindβ Sequence Identifier (SEQIND): this field identified the sequences of this Migration Send command in relation to other Migration Send commands. (again, that's the manpage's own wording, verbatim, no notes π)csviβ Controller State Version Index (CSVI): a non-zero value in this field specifies the index to a specific entry in the NVMe Controller State Version list of the Supported Controller State Formats data structure. β¨dudmqβ Delete User Data Migration Queue (DUDMQ): if set, the migration queue is deleted is deleted as part of the Suspend operation. if cleared, it is retained. (yes the original says "deleted is deleted" twice β iconic typo behavior, we preserve it, we don't touch it, it's canon π)
no cap: thedatapointer is just a pointer, andargs_sizeis the length of the struct. don't overthink her.
and that's the whole page, bestie. slay. π
this was the API Manual for libnvme, dated August 2026 β signing off, mwah π π β
π¦ where this page comes from
- fedora 44: libnvme-doc 1.16.2-1.fc44 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms