gfs2_set_alloc_start(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… gfs2_set_alloc_start β€” like, the Kernel API Manual era πŸŽ€

okay so bestie, welcome to gfs2_set_alloc_start(9) β€” yes that's the whole name, we're in the Kernel API Manual section and this is lowkey one of those little helper functions that quietly runs the show. ✨


✨ NAME ✨

gfs2_set_alloc_start β€” Set starting point for block allocation 🎯

Like. That's it. That's the whole job. It picks where you start looking for blocks. Iconic, honestly.


🌸 SYNOPSIS 🌸

void gfs2_set_alloc_start (struct gfs2_rbm *rbm , const struct
gfs2_inode *ip , bool dinode );

no cap, that's the signature β€” copy it exactly, it's giving very specific. πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • rbm β€” the rbm which will be set to the required location πŸŽ€ so it goes in empty and comes out pointing at the spot, main character energy fr.
  • ip β€” the gfs2 inode πŸ’– that's your inode bestie, the thing we're allocating for.
  • dinode β€” a flag to say if allocation includes a new inode 🌟 like, are we making a fresh inode here or not, that's the whole question.

🌈 DESCRIPTION 🌈

so here's the vibe: this sets the starting point from the reservation if one is active πŸ‘‘

otherwise? it falls back to guessing a start point πŸ™ˆ based on the inode's goal block or the last allocation point in the rgrp.

that's it, that's the tea. reservation first, guessy-guess second. β˜•βœ¨


πŸ’œ SEE ALSO πŸ’œ

Kernel file ./fs/gfs2/rgrp.c β€” go read the source if you want the full lore, iykyk πŸ“–

and because we're thorough:

gfs2_setbit(9), gfs2_testbit(9), gfs2_bit_search(9), rs_cmp(9), gfs2_bitfit(9), gfs2_rbm_from_block(9), gfs2_rbm_add(9), gfs2_unaligned_extlen(9), gfs2_free_extlen(9), gfs2_bitcount(9), gfs2_rgrp_verify(9), gfs2_blk2rgrpd(9), gfs2_rgrpd_get_first(9), gfs2_rgrpd_get_next(9), __rs_deltree(9), gfs2_rs_deltree(9), gfs2_rs_delete(9), return_all_reservations(9), compute_bitstructs(9), gfs2_ri_total(9), read_rindex_entry(9), set_rgrp_preferences(9), gfs2_ri_update(9), gfs2_rindex_update(9), gfs2_rgrp_go_instantiate(9), gfs2_rgrp_brelse(9), gfs2_fitrim(9), rs_insert(9), rgd_free(9), rg_mblk_search(9), gfs2_next_unreserved_block(9), gfs2_reservation_check_and_update(9), gfs2_rbm_find(9), try_rgrp_unlink(9), gfs2_rgrp_congested(9), gfs2_rgrp_used_recently(9), fast_to_acquire(9), gfs2_inplace_reserve(9), gfs2_inplace_release(9), gfs2_alloc_extent(9), rgblk_free(9), gfs2_rgrp_dump(9), gfs2_adjust_reservation(9), gfs2_alloc_blocks(9), __gfs2_free_blocks(9), gfs2_free_meta(9), gfs2_check_blk_type(9), gfs2_rlist_add(9), gfs2_rlist_alloc(9), gfs2_rlist_free(9) 🫢

that's a lot of friends, and every single one of them is listed, no skipping, we don't do that here πŸ’€


friendly lil heads-up: this page lives under ./fs/gfs2 and it's dated October 2026, so if you're reading it in some other timeline… that's a you problem bestie 🧚

okay bye, go set some alloc starts, slay πŸ’–πŸŽ€πŸŒ·

πŸ“¦ where this page comes from