ixgbe_devlink_nvm_snapshot(9)
π ixgbe_devlink_nvm_snapshot(9) β like, the whole Kernel API Manual page, but make it make sense
okay so bestie, this is a page straight out of the Kernel API Manual, and the star of the show is ixgbe_devlink_nvm_snapshot(9). yes it's a mouthful. no you don't have to say it out loud. let's get into it π
β¨ NAME β¨
ixgbe_devlink_nvm_snapshot β Capture a snapshot of the NVM content π
like, it takes a pic of your NVM. that's the whole vibe. iconic behavior honestly.
πΈ SYNOPSIS πΈ
int ixgbe_devlink_nvm_snapshot (struct devlink *devlink , const struct
devlink_region_ops *ops , struct netlink_ext_ack *extack , u8 **data );
four args, one int coming back at you. she's giving "small function, big responsibility" energy fr fr π
π¦ ARGUMENTS π¦
so here's the friend group, one by one:
devlinkβ the devlink instance itself. the main character of this whole situation πopsβ the devlink region being snapshotted. the specific region, like the specific friend in the group chat πextackβ the extended ACK response structure. yes it's real, no it's not a typo, it's literally called extack π«Άdataβ on exit, this points to the snapshot data buffer. so like, it's empty-ish going in and it's holding the bag coming out β¨
π DESCRIPTION π
bestie. listen. this function is called in response to the DEVLINK_CMD_REGION_NEW cmd. that's the trigger. that's the bat signal π¦
what it does: it captures a snapshot of the whole requested NVM region. the entire thing. not a lil peek, not a sample β the whole region, no cap π₯
and here's the bestie part: no need to worry with freeing data β devlink core takes care of it. so like, do NOT go freeing that buffer yourself, that's not your job, that's devlink core's job and she's got it handled ππ
β RETURN β
the return value tea, in order:
0on success β slay, we did it π-EOPNOTSUPPfor unsupported regions β like, she can't, she won't π-EBUSYwhen it cannot lock NVM β busy busy busy, try again later π-ENOMEMwhen it cannot alloc mem β the memory's gone, it's giving broke π-EIOwhen an error occurs during reading β the read did NOT eat, I fear πΈ
fr fr memorize these, they're literally the whole diagnostic story. each one maps to exactly one situation, no guessing.
π SEE ALSO π
go read these next, bestie, the lore is deep:
- Kernel file
./drivers/net/ethernet/intel/ixgbe/devlink/region.c ixgbe_devlink_devcaps_snapshot(9)ixgbe_devlink_nvm_read(9)ixgbe_devlink_init_regions(9)ixgbe_devlink_destroy_regions(9)
(the init and destroy ones are literally the setup-and-teardown girlies. love a full lifecycle π)
and that's the page!! source is ./drivers/net/ethernet/intel/i... (yes the manpage footer literally truncates it with dots, we're keeping it exactly like that π), dated October 2026, and it's ixgbe_devlink_nvm_snapshot(9) in the Kernel API Manual β periodt, go snapshot some NVM responsibly π
β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms