libnvme(9)
π libnvme(9) β the struct nvme_copy_range_f1 glow-up π
okay so bestie, this is a page straight out of the libnvme(9) API Manual, and today's main character is a struct with a whole lot of reserved bytes and one very specific job. it's giving "copy source range descriptor, format 1h" energy and honestly? we're obsessed. let's get into it β¨
πΈ NAME πΈ
struct nvme_copy_range_f1 β Copy - Source Range Entries Descriptor Format 1h
like, that's the name, no cap. it's a Copy Source Range Entries Descriptor, and it's specifically the Format 1h flavour. iykyk π
β¨ SYNOPSIS β¨
here's the whole thing in its full glory, copied exactly because we do not touch the source material π«Ά
struct nvme_copy_range_f1 {
__u8 rsvd0[8];
__le64 slba;
__le16 nlb;
__u8 cetype;
__u8 rsvd19;
__le16 cev;
__u8 rsvd22[4];
__u8 elbt[10];
__le16 elbat;
__le16 elbatm;
};
look at her. twelve fields. absolute icon. π₯
π Members π
okay, field-by-field tour, group chat style. every single one, no skipping, because we are thorough in this household π§
rsvd0β Reserved. it's__u8 rsvd0[8], which means yes, eight whole bytes of "don't touch, not for you". respectfully, leave her alone πslbaβ Starting LBA. the__le64, little-endian starting logical block address. this is where the copy starts, bestie πnlbβ Number of Logical Blocks. a__le16, so it's little-endian and honestly kind of smol. count your blocks πcetypeβ Bits 3-0: Command Extension Type. note that it's bits 3-0 specifically β the low nibble, okurrr. don't go reading the other bits, they're not invited βrsvd19β Reserved. again.__u8. we're back to "mind your business" territory πcevβ Command Extension Value. a__le16, little-endian, and it pairs with thatcetypeup above. cute couple fr fr π₯°rsvd22β Reserved. this time it's__u8 rsvd22[4]β four whole bytes of nothing. slay πelbtβ Expected Initial Logical Block Reference Tag / Expected Logical Block Storage Tag. big name, big job. it's__u8 elbt[10]β ten bytes of tag expectation. main character energy ngl πelbatβ Expected Logical Block Application Tag.__le16, little-endian. the expected application tag, distinct from the reference/storage tag above, so don't go mixing them up πΈelbatmβ Expected Logical Block Application Tag Mask. also__le16, also little-endian. it's the mask for that application tag β the vibe check for which bits actually count π
ok real talk for a sec: do not go poking at thersvd0,rsvd19orrsvd22fields. they're marked Reserved in the original for a reason, bestie. those bytes are not yours. π
and that's the whole page!! no extra lore, no hidden options, just one very well-structured descriptor π
cute sign-off: this masterpiece comes to you from October 2026, courtesy of the struct nvme_copy_range_f1 page in the libnvme(9) manual. drink some water, read your reserved fields responsibly, and remember β format 1h forever π¦π
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms