STRUCT BBM_INFO(9)
π struct bbm_info(9) β the Kernel API Manual, bestie edition π
okay so you're reading struct bbm_info(9) from the Kernel API Manual and honestly? iconic of you. this is the [GENERIC] Bad Block Table data structure and it's giving main character energy in the MTD world β¨
πΈ NAME πΈ
struct bbm_info β the [GENERIC] Bad Block Table data structure, no cap π
β¨ SYNOPSIS β¨
struct bbm_info {
int bbt_erase_shift;
int options;
uint8_t *bbt;
int (*isbad_bbt)(struct mtd_info *mtd, loff_t ofs, int allowbbt);
struct nand_bbt_descr *badblock_pattern;
void *priv;
};
like, look at her. six members. all business. π«Ά
π¦ Members π¦
bbt_erase_shiftβ [INTERN] the number of address bits in a bbt entry. yes bestie, intern as in internal, not an intern at the office πoptionsβ the options for this descriptor. literally what it says πbbtβ [INTERN] the bad block table pointer. she points at the table, that's her whole job πisbad_bbtβ the function to determine if a block is bad. vibe check, but for blocks π₯badblock_patternβ [REPLACEABLE] the bad block scan pattern used for initial bad block scan. yes you can swap her out, she's flexible like that π¦privβ [OPTIONAL] pointer to privatebbmdate. optional!! lowkey mysterious!! π
π SEE ALSO π
Kernel file ./include/linux/mtd/bbm.hstruct nand_bbt_descr(9)
go read those too, iykyk π
ngl bestie, keep the tags straight β [INTERN] means internal, [REPLACEABLE] means you can replace it, and [OPTIONAL] means it might just not be there. don't come for me if you mix them up π
and that's the whole page!! mwah π this little gem lives in ./include/linux/mtd, it's dated October 2026, and the whole thing is filed under struct bbm_info(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