libnvmf_exc...dd_subsysnqn(9)
π libnvmf_exclusion_add_subsysnqn(9) β the libnvme API manual, but make it make sense π
okay bestie, so this page lives in the libnvme API manual and the whole filename situation is genuinely sending me β it's libnvmf_exc...dd_subsysnqn(9), yes with the literal ... in the middle, that's not me being lazy, that's just how it got truncated. iconic of it honestly. anyway. let's get into it β¨
πΈ NAME πΈ
libnvmf_exclusion_add_subsysnqn β appends an entry that matches a whole subsystem by its NQN and nothing else. like, NQN-only energy. that's the vibe. π
β¨ SYNOPSIS β¨
int libnvmf_exclusion_add_subsysnqn (struct libnvme_global_ctx *ctx ,
const char *name , const char *subsysnqn );
three arguments, one int coming back at you. no cap, that's the whole signature π«Ά
π¦ ARGUMENTS π¦
ctxβ your libnvme global context. it is the main character of every libnvme function and it must not be NULL. do not test her. πnameβ the list name. you know, the list. the one this entry gets appended to. πsubsysnqnβ the subsystem NQN you want to exclude. it must not be NULL or empty. non-negotiable, bestie π
π§ DESCRIPTION π§
okay so here's what's happening under the hood, and it's lowkey gorgeous:
this builds an exclusion entry that matches every controller of a subsystem β the entry constrains only the NQN, nothing else. and it does all of that inside libnvme, meaning you, the caller, need zero knowledge of the on-disk entry format. none. not a single byte. the library handles it so you don't have to, and honestly? slay. π
then it appends the entry via libnvmf_exclusion_add. and if the list doesn't exist yet? it creates the list. no pre-setup required, it just handles it. very self-sufficient of it. π
π RETURN π
0β success, we ate. π₯-EINVALβctxorsubsysnqnwasNULL/empty. you gotta give her something to work with, bestie π- negative errno otherwise β some other thing went sideways, the classic "negative errno" catch-all π
ngl the whole point of this one is that you never have to think about the on-disk format. that's the gift. accept it. π«Ά
and that's the page!! brought to you by the libnvme API manual, dated October 2026 π β that footer timestamp is genuinely from the future and I respect the commitment, periodt. πβ¨π
π¦ 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