STRUCT BU_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct bu_info(9) β€” the Kernel API Manual just dropped

okay so real talk, we're in the Kernel API Manual today (yes bestie, the kernel kernel) and the main character of this page is struct bu_info β€” it's literally the bulk-read information struct, and it's giving "I organize your reading list so you don't have to" energy ✨


🌸 NAME

struct bu_info β€” bulk-read information. that's it, that's the vibe πŸŽ€


✨ SYNOPSIS

struct bu_info {
    union ubifs_key key;
    struct ubifs_zbranch zbranch[UBIFS_MAX_BULK_READ];
    void *buf;
    int buf_len;
    int gc_seq;
    int cnt;
    int blk_cnt;
    int eof;
 };

like, that's the whole struct, no cap. look at it. iconic. πŸ‘‘


πŸ¦‹ Members

okay so let's go member by member, because every single one of these is pulling its weight:

  • key β€” the first data node key. the first one, bestie. it's where the whole read kicks off πŸ’…
  • zbranch β€” zbranches of the data nodes we're gonna bulk read. it's an array, UBIFS_MAX_BULK_READ of them, so yeah she's loaded 🫢
  • buf β€” the buffer we read into. the destination. the moment. where the data actually lands ✨
  • buf_len β€” buffer length. how big the buffer is, obviously, don't come for her 🌸
  • gc_seq β€” GC sequence number, and it's here to detect races with GC. yes, race conditions, in my bulk read? it's more likely than you think 😭
  • cnt β€” number of data nodes for bulk read. the count. the headcount. the attendance sheet πŸ“‹
  • blk_cnt β€” number of data blocks including holes. including holes, bestie, do not forget the holes πŸ’€
  • eof β€” end of file reached. we hit the wall. that's the end of the road, periodt 🏁

πŸ”₯ SEE ALSO

Kernel file ./fs/ubifs/ubifs.h and honestly the whole friend group showed up β€” like literally everyone:

  • struct ubifs_old_idx(9)
  • struct ubifs_scan_node(9)
  • struct ubifs_scan_leb(9)
  • struct ubifs_gced_idx_leb(9)
  • struct ubifs_inode(9)
  • struct ubifs_unclean_leb(9)
  • struct ubifs_lprops(9)
  • struct ubifs_lpt_lprops(9)
  • struct ubifs_lp_stats(9)
  • struct ubifs_cnode(9)
  • struct ubifs_pnode(9)
  • struct ubifs_nbranch(9)
  • struct ubifs_nnode(9)
  • struct ubifs_lpt_heap(9)
  • struct ubifs_wbuf(9)
  • struct ubifs_bud(9)
  • struct ubifs_jhead(9)
  • struct ubifs_zbranch(9)
  • struct ubifs_znode(9)
  • struct ubifs_node_range(9)
  • struct ubifs_compressor(9)
  • struct ubifs_budget_req(9)
  • struct ubifs_orphan(9)
  • struct ubifs_mount_opts(9)
  • struct ubifs_budg_info(9)
  • struct ubifs_stats_info(9)
  • struct ubifs_info(9)
  • ubifs_check_hash(9)
  • ubifs_check_hmac(9)
  • ubifs_branch_hash(9)
  • ubifs_copy_hash(9)
  • ubifs_auth_node_sz(9)

iykyk, the whole ubifs squad is linked here β€” go read them if you wanna be the main character of your own filesystem 🌈

and that's the page, bestie πŸŽ€ sign-off time: this one lives in ./fs/ubifs, and the manual's dated October 2026 β€” future-proofed and flawless, as usual πŸ’œβœ¨

πŸ“¦ where this page comes from