gfs2_set_alloc_start(9)
π 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β therbmwhich 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
- 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