libnvme(9)
π libnvme(9) β API Manual π
okay bestie, sit down, we're doing libnvme(9) today and honestly? it's giving deep kernel lore. no cap, this one's a struct, and she's got eleven members, so grab a strawberry and let's go π
β¨ NAME β¨
struct nvme_lm_migration_recv_args β Arguments for the Migration Receive command
like, that's literally her whole job. she holds the arguments. she's the little purse you carry them in π
π¦ SYNOPSIS π¦
struct nvme_lm_migration_recv_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 csuidxp;
};
look at her. immaculate. every field typed out exactly like that, and yes, the closing brace has a little leading space, that's just her vibe, don't touch it π«Ά
πΈ Members πΈ
offsetβ the Offset. it says, in bytes, where inside the data-that-could-be-returned we're starting from. like a bookmark in a book you haven't read yet, but specifically the starting point for what actually gets sent back to the host. β¨resultβ gets set when the command finishes, and it holds the command's CQE DWORD 0 controller response. so like, the receipt. the little "here's what the controller said" π§Ύdataβ Pointer to data. that's it. that's the whole description. she's mysterious, she's avoid *, we respect her πargs_sizeβ Length of structure. she measures herself. iconic.fdβ File descriptor of nvme device. your ticket to the nvme device, fr fr ποΈtimeoutβ Timeout in ms. milliseconds, bestie. patience is measured in milliseconds here β³numdβ Number of Dwords (NUMD). this field says how many dwords to return. and heads up: it's a 0's based value. so it's not how many you said, it's how many you said, minus one. the way that zero-based counting will get you every single time πmosβ Management Operation Specific (MOS). this field is specific to the SEL type. so it changes meaning depending onsel, iykyk πcntlidβ Controller ID. this one specifies the identifier of the controller that the operation is being performed on. like tagging the exact controller in the group chat π²csuuidiβ Controller State UUID Index (CSUUIDI). if you set this to a non-zero value, it specifies the index to a specific entry in the Vendor Specific Controller State UUID Supported. list of the Supported Controller State Formats data structure. (yes, that period mid-sentence is in the original, we do not edit the queen's grammar π)selβ Select (SEL). this field specifies the type of management operation to perform. she's the one picking the genre πuidxβ UUID Index (UIDX). if this is set to a non-zero value, then this value is the index of a UUID in the UUID List (refer to Figure 320) that's used by the command. figure 320. go look at figure 320. go πβοΈcsuidxpβ Controller State UUID Index Parameter (CSUIDXP). and this field is vendor specific. meaning: not our business, ask your vendor, good luck bestie π
okay real talk for a sec: a bunch of these fields are vendor specific (csuidxp) or change their meaning based on another field (mosdepends onsel), and a few are only meaningful when non-zero (csuuidi,uidx). so don't just fill in zeros and assume everything's fine, the semantics shift on you. that's not me being dramatic, that's literally what the page says π₯
π the sign-off π
this lil page comes from the libnvme API Manual, dated August 2026, and she's filed under libnvme(9). that's the source, the version, the date, the whole footer moment β folded up cute so you still get every bit of it π
now go forth and pass your arguments correctly, bestie. slay β¨π π¦
π¦ 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