__gfs2_free_blocks(9)
β¨ __gfs2_free_blocks β¨
okay so bestie, welcome to the kernel API manual page for __gfs2_free_blocks(9) β yes the double underscore is part of the name, she's fancy like that π
π NAME π
__gfs2_free_blocks β free a contiguous run of block(s). that's it, that's the whole vibe. we're giving blocks back to the filesystem, no cap π«Ά
πΈ SYNOPSIS πΈ
void __gfs2_free_blocks (struct gfs2_inode *ip , struct gfs2_rgrpd *rgd
, u64 bstart , u32 blen , int meta );
lowkey a five-argument situation, so let's meet the cast π¬
π¦ ARGUMENTS π¦
ipβ the inode these blocks are being freed from. like, who's the one letting go of the blocks? it's her. she's the main character of this free-ing πrgdβ the resource group the blocks are in. think of it as the neighborhood where the blocks live π‘bstartβ first block of a run of contiguous blocks. the starting point, the origin story, the opener if you will β¨blenβ the length of the block run. how many blocks we're freeing in this stretch, fr frmetaβ1if the blocks represent metadata. literal numeric flag energy:1means yep, metadata; that's the whole deal π§
π SEE ALSO π
so we're in the Kernel file ./fs/gfs2/rgrp.c and honestly the friend group here is huge, like a whole group chat:
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_set_alloc_start(9)gfs2_alloc_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 fifty whole references, we ate and left no crumbs π₯
okay that's the whole page bestie, go free those blocks responsibly π
and for the cute sign-off: this lil beauty lives under the source dir ./fs/gfs2, dated October 2026, and it's page __gfs2_free_blocks(9) of the Kernel API Manual β iconic, no notes πβ
π¦ 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