make_slab(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… make_slab(9) β€” a Kernel API Manual moment

okay bestie, welcome to the Kernel API Manual page for make_slab. This one is short and sweet: it's all about constructing a brand-new, empty slab, and the vibe is very β€œwe're initializing this correctly or we're not doing it at all.” ✨

✨ NAME ✨

make_slab β€” Construct a new, empty slab. That's the whole name line, and it ate. πŸ’…

🌸 SYNOPSIS 🌸

Here's the signature, exactly as it appears β€” no cap, copy-paste energy only for the code:

       int make_slab (physical_block_number_t slab_origin , struct
       block_allocator *allocator , slab_count_t slab_number , bool is_new ,
       struct vdo_slab **slab_ptr );

πŸŽ€ ARGUMENTS πŸŽ€

Here's the cast, and every single one matters:

  • slab_origin β€” the physical block number within the block allocator partition of the first block in the slab. Like, the starting coordinate, bestie. πŸ—ΊοΈ
  • allocator β€” the block allocator to which the slab belongs. It's the slab's home allocator. 🏠
  • slab_number β€” the slab number of the slab. Yes, it's exactly what it says on the label. πŸ”’
  • is_new β€” True if this slab is being allocated as part of a resize. πŸ†•
  • slab_ptr β€” a pointer to receive the new slab. This is where the shiny new slab gets handed back. 🫢

🌈 RETURN 🌈

It returns VDO_SUCCESS or an error code. That's it β€” success or the error girlies, no in-between. ⭐

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file: ./drivers/md/dm-vdo/slab-depot.c β€” yep, that's the home base. And the squad is, in order, every last one of them:


xoxo, bestie πŸ’– source/version: ./drivers/md/dm-vdo; date: October 2026; manual page: make_slab(9). periodt. 🫢

πŸ“¦ where this page comes from