gfs2_rbm_find(9)
π gfs2_rbm_find(9) π
okay so welcome to the Kernel API Manual (bestie edition, iykyk β¨)
β¨ NAME β¨
gfs2_rbm_find β look for blocks of a particular state (the way it just finds them, no cap π
)
πΈ SYNOPSIS πΈ
int gfs2_rbm_find (struct gfs2_rbm *rbm , u8 state , u32 *minext ,
struct gfs2_blkreserv *rs , bool nowrap );
slay, that's the signature β¨
π¦ ARGUMENTS π¦
rbmβ value/result starting position and final position (it's literally both, iconic)stateβ the state which we want to find (no cap, that's the vibe check)minextβ pointer to the requested extent length β and bestie, this gets updated to be the actual reservation size (the plot twist π)rsβ our own reservation (NULLto skip checking for reservations) (iykyk, just passNULLif you don't care)nowrapβ stop looking at the end of the rgrp, rather than wrapping around until we've reached the starting point (no wraparound era, periodt π )
π DESCRIPTION π
okay so the side effects are literally:
- if looking for free blocks, we set
GBF_FULLon each bitmap which has no free blocks in it (marking them full, slay) - if looking for free blocks, we set
rd_extfail_pton each rgrp which has come up short on a free block search (the way it just tracks the failures, not me π)
π RETURN π
returns 0 on success, or -ENOSPC if there is no block of the requested state (no block, no vibes, we hate to see it π)
π§ SEE ALSO π§
bestie, you gotta check out the Kernel file ./fs/gfs2/rgrp.c (the source of truth, fr fr β¨) and then all these functions: 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), 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_set_alloc_start(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) (obsessed with this list, it's giving main character energy π)
and that's the tea, bestie π
this page came from ./fs/gfs2 in October 2026 and it's all about gfs2_rbm_find(9) periodt β¨
π¦ 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