libnvme(2)
โจ NAME โจ
bestieโฆ it's enum nvme_lm_migration_send_fields โ the Migration Send command fields ๐
this is part of the libnvme API manual, and we're going through every single one of these little constants like it's a group chat catch-up ๐ซถ
๐ฆ SYNOPSIS ๐ฆ
ok so here's the whole enum, laid out exactly as it lives:
enum nvme_lm_migration_send_fields {
NVME_LM_MIGRATION_SEND_MOS_SHIFT ,
NVME_LM_MIGRATION_SEND_MOS_MASK ,
NVME_LM_MIGRATION_SEND_SEL_SHIFT ,
NVME_LM_MIGRATION_SEND_SEL_MASK ,
NVME_LM_SEL_SUSPEND ,
NVME_LM_SEL_RESUME ,
NVME_LM_SEL_SET_CONTROLLER_STATE ,
NVME_LM_MIGRATION_SEND_UIDX_SHIFT ,
NVME_LM_MIGRATION_SEND_UIDX_MASK ,
NVME_LM_DUDMQ ,
NVME_LM_STYPE_SHIFT ,
NVME_LM_STYPE_MASK ,
NVME_LM_STYPE_SUSPEND_NOTIFICATION ,
NVME_LM_STYPE_SUSPEND ,
NVME_LM_SUSPEND_CNTLID_SHIFT ,
NVME_LM_SUSPEND_CNTLID_MASK ,
NVME_LM_RESUME_CNTLID_SHIFT ,
NVME_LM_RESUME_CNTLID_MASK ,
NVME_LM_SEQIND_SHIFT ,
NVME_LM_SEQIND_MASK ,
NVME_LM_SEQIND_NOT_FIRST_NOT_LAST ,
NVME_LM_SEQIND_FIRST ,
NVME_LM_SEQIND_LAST ,
NVME_LM_SEQIND_ENTIRE ,
NVME_LM_SET_CONTROLLER_STATE_CSUUIDI_SHIFT ,
NVME_LM_SET_CONTROLLER_STATE_CSUUIDI_MASK ,
NVME_LM_SET_CONTROLLER_STATE_CSVI_SHIFT ,
NVME_LM_SET_CONTROLLER_STATE_CSVI_MASK ,
NVME_LM_SET_CONTROLLER_STATE_CNTLID_SHIFT ,
NVME_LM_SET_CONTROLLER_STATE_CNTLID_MASK
};
thirty constants. no skips. we're eating the whole plate ๐
๐ Constants ๐
one bullet per icon, no cap:
NVME_LM_MIGRATION_SEND_MOS_SHIFTโ the shift you use to set the Management Operation Specific (MOS) field, periodt ๐ธNVME_LM_MIGRATION_SEND_MOS_MASKโ the mask for setting that MOS field ๐ซNVME_LM_MIGRATION_SEND_SEL_SHIFTโ how far you shift to set the Select (SEL) field ๐NVME_LM_MIGRATION_SEND_SEL_MASKโ the mask for setting SEL ๐NVME_LM_SEL_SUSPENDโ Migration Send - Suspend ๐ด literally what it saysNVME_LM_SEL_RESUMEโ Migration Send - Resume ๐ back at it againNVME_LM_SEL_SET_CONTROLLER_STATEโ Migration Send - Set Controller State ๐ง your main character moment for controller stateNVME_LM_MIGRATION_SEND_UIDX_SHIFTโ shift to set the UUID Index (UIDX) ๐ฅNVME_LM_MIGRATION_SEND_UIDX_MASKโ mask to set UIDX โจNVME_LM_DUDMQโ Delete User Data Migration Queue ๐๏ธ bye bestieNVME_LM_STYPE_SHIFTโ the shift amount for setting Suspend Type (STYPE) ๐NVME_LM_STYPE_MASKโ mask to set STYPE ๐NVME_LM_STYPE_SUSPEND_NOTIFICATIONโ Suspend Notification: the specified controller is going to be suspended in the future with a subsequent Migration Send command ๐ฎ it's giving "heads up, not yet"NVME_LM_STYPE_SUSPENDโ Suspend: suspend the controller ๐ญ that's the whole thingNVME_LM_SUSPEND_CNTLID_SHIFTโ shift amount to set Controller ID (CNTLID) when SEL is Suspend ๐NVME_LM_SUSPEND_CNTLID_MASKโ mask to set CNTLID with SEL Suspend ๐ซถNVME_LM_RESUME_CNTLID_SHIFTโ shift amount to set Controller ID (CNTLID) when SEL is Resume โจNVME_LM_RESUME_CNTLID_MASKโ mask to set CNTLID when SEL is Resume ๐NVME_LM_SEQIND_SHIFTโ shift amount to set the Sequence Indicator (SEQIND) field, relative to MOS ๐NVME_LM_SEQIND_MASKโ mask to set the SEQIND field relative to MOS ๐NVME_LM_SEQIND_NOT_FIRST_NOT_LASTโ this command is not the first or last of a sequence of two or more Migration Send commands with this management operation, used to transfer the controller state from host to controller ๐ฅช the middle child fr frNVME_LM_SEQIND_FIRSTโ this command is the first of a sequence of two or more Migration Send commands ๐NVME_LM_SEQIND_LASTโ this command is the last command of a sequence of two or more Migration Send commands ๐NVME_LM_SEQIND_ENTIREโ this Migration Send command is the only command and contains the entire controller state for this management operation ๐ the whole vibe in one packetNVME_LM_SET_CONTROLLER_STATE_CSUUIDI_SHIFTโ shift amount to set the Controller State UUID Index (CSUUIDI) ๐NVME_LM_SET_CONTROLLER_STATE_CSUUIDI_MASKโ mask to set CSUUIDI โจNVME_LM_SET_CONTROLLER_STATE_CSVI_SHIFTโ shift amount to set the Controller State Version Index (CSVI) ๐ฆNVME_LM_SET_CONTROLLER_STATE_CSVI_MASKโ mask to set CSVI ๐NVME_LM_SET_CONTROLLER_STATE_CNTLID_SHIFTโ shift amount to set Controller ID (CNTLID) when SEL is Set Controller State ๐ธNVME_LM_SET_CONTROLLER_STATE_CNTLID_MASKโ mask to set CNTLID when SEL is Set Controller State ๐ซถ
ok real talk bestie: these are all just shift amounts and masks for wrangling the Migration Send command's fields. nothing dangerous in here, just bit-fiddling ๐
and that's the whole page, bestie ๐ this was the libnvme API manual, enum nvme_lm_migration_send_fields, from July 2026 โ slay, go write some NVMe code ๐โจ
๐ฆ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 ยท 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