xas_create_range(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xas_create_range(9)

okay so this is a page from the Kernel API Manual bestie, and it's literally all about xas_create_range β€” yes that's a mouthful, we're coping 🫢


✨ NAME ✨

xas_create_range β€” bestie's whole job is making sure that stores to this range will actually succeed. no cap, that's the entire vibe check πŸ”₯


🌸 SYNOPSIS 🌸

void xas_create_range (struct xa_state *xas );

that's it. that's the whole signature. she's simple, she's iconic πŸ‘‘


πŸŽ€ ARGUMENTS πŸŽ€

  • xas β€” the XArray operation state. that's the little state baby you hand her and she does stuff to it. main character parameter fr fr

πŸ¦‹ DESCRIPTION πŸ¦‹

so what actually happens: she creates all of the slots in the range that's covered by xas. every single one. not a vibe, not some of them β€” all of them ✨

then she sets xas to create single-index entries, and positions it at the beginning of the range. so after she's done, xas is sitting pretty at the start like "hi, i'm ready πŸ’…"

and why, you ask? because this is for the benefit of users which have not yet been converted to use multi-index entries. yeah. it's a whole compatibility era situation β€” these users are still on single-index entries and this function is out here being the supportive bestie that makes their stores succeed anyway 😭🫢


🌈 SEE ALSO 🌈

Kernel file ./lib/xarray.c

and the whole friend group, alphabetically-ish, all of them, every last one, no skipping, i promised:

xas_load(9), xas_nomem(9), xas_free_nodes(9), xas_store(9), xas_get_mark(9), xas_set_mark(9), xas_clear_mark(9), xas_init_marks(9), xas_split_alloc(9), xas_split(9), xas_try_split_min_order(9), xas_try_split(9), xas_pause(9), xas_find(9), xas_find_marked(9), xas_find_conflict(9), xa_load(9), __xa_erase(9), xa_erase(9), __xa_store(9), xa_store(9), __xa_cmpxchg(9), __xa_insert(9), xa_store_range(9), xas_get_order(9), xa_get_order(9), __xa_alloc(9), __xa_alloc_cyclic(9), __xa_set_mark(9), __xa_clear_mark(9), xa_get_mark(9), xa_set_mark(9), xa_clear_mark(9), xa_find(9), xa_find_after(9), xa_extract(9), xa_delete_node(9), xa_destroy(9)

like. that's the entire gc. go say hi to all of them or whatever πŸ’€πŸ’–


okay bestie that's the whole page, and before i go β€” this absolutely stunning piece of documentation lives in ./lib, dated October 2026, brought to you by the xas_create_range(9) girlies. slay, ate, periodt. go make those stores succeed πŸ§šβ€β™€οΈβ­

πŸ“¦ where this page comes from