debugfs.reiser4(8)

πŸ“¦ version 1.2.2, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– debugfs.reiser4 β€” the reiser4 filesystem detective πŸ’–

okay bestie so this is debugfs.reiser4, and it lives in the reiser4progs manual, section 8 (that's the "system admin commands" section, iykyk). it's basically the debug program for the reiser4 filesystem and it is literally the backstage pass to your filesystem's internal drama.


✨ SYNOPSIS ✨

debugfs.reiser4 [ options ] FILE

🌸 DESCRIPTION 🌸

so debugfs.reiser4 is the reiser4 filesystem debug program. you can disscover (yes, that's the original spelling, we're keeping the vibe intact 🫢) the internal reiser4 filesystem structures by using it. that's it, that's the whole job. it's giving microscope but for bytes. πŸ”¬


πŸŽ€ COMMON OPTIONS πŸŽ€

  • -V, --version β€” prints the program version. that's it, that's the tea. πŸ’…
  • -?, -h, --help β€” prints program help. use this when you're lost, which, same. πŸ™ˆ
  • -y, --yes β€” assumes the answer 'yes' to all questions. it just says yes to everything, no thoughts, head empty. ⭐
  • -f, --force β€” forces debugfs to use the whole disk, not a block device or a mounted partition. bold. very main character energy. πŸ‘‘
  • -c, --cache N β€” sets the tree cache node number to the value you pass in. this affects very much behavior of libreiser4. it affects speed, tree allocation, etc. so like, lowkey a big deal. πŸ”₯

πŸ¦‹ BROWSING OPTIONS πŸ¦‹

  • -k, --cat β€” browses the passed file like the standard cat and ls programs. cute, familiar, cozy. πŸ“

  • -t, --print-tree β€” prints the internal tree. the whole tree. not a summary, bestie, the tree. 🌳
  • -b, --print-block N β€” prints the block associated with the block number you passed. one block, one moment. πŸ’œ
  • -n, --print-nodes FILE β€” prints all the nodes that the passed file lies in. where does the file live? now you know. 🏠
  • -i, --print-file β€” prints all the items that the passed file consists of. it's giving "show me your receipts". 🧾
  • -s, --print-super β€” prints both super blocks: the master super block and the format specific one. two icons, one flag. πŸ‘‘πŸ‘‘
  • -j, --print-journal β€” prints the journal with not yet commited transactions (if any). if there are none, well, nothing to see here. πŸ’€
  • -a, --print-alloc β€” prints the block allocator data. πŸ“¦
  • -d, --print-oid β€” prints the oid allocator data. πŸ”’

🌈 METADATA OPTIONS 🌈

  • -P, --pack-metadata β€” fetches the filesystem metadata and writes them to the standard output. packing it up like a lil care package. 🎁
  • -U, --unpack-metadata β€” reads a filesystem metadata stream from the stdandard input (original spelling, no cap, we respect the ancestors 🫢) and constructs a new filesystem based on that metadata.

and here's the iconic round-trip trick they show you:

debugfs.reiser4 --pack-metadata <FS1> | debugfs.reiser4 --unpack-metadata <FS2>

and then:

debugfs.reiser4 --pack-metadata <FS2>

produces a stream equivalent to the first one. the way that it's a perfect circle?? πŸ”„βœ¨


πŸ’… PLUGIN OPTIONS πŸ’…

  • -p, --print-profile β€” prints the plugin profile. this is the set of default plugins used for all parts of a filesystem β€” format, nodes, files, directories, hashes, etc. and if --override is specified, then it prints the modified plugins instead. πŸŽ€
  • -l, --print-plugins β€” prints all plugins libreiser4 knows about. the full roster, the whole squad. 🌟
  • -o, --override TYPE=PLUGIN, ... β€” overrides the default plugin of the type "TYPE" with the plugin "PLUGIN" in the plugin profile. swap it out, glow up the profile. ✨

🌸 Examples 🌸

okay so here's the example, served fresh:

debugfs.reiser4 -o nodeptr=nodeptr41,hash=rupasov_hash /dev/hda2

see how nodeptr got swapped to nodeptr41 and hash got swapped to rupasov_hash? that's the override doing its thing. periodt. πŸ’–


😭 REPORTING BUGS 😭

found a bug? Report bugs to <reiserfs-devel@vger.kernel.org>. don't suffer in silence bestie, tell the devs. 🫢


πŸ‘€ SEE ALSO πŸ‘€

go read those too, they're the rest of the friend group. πŸ’œ


🧚 AUTHOR 🧚

This manual page was written by Yury Umanets <umka@namesys.com>. iconic behavior honestly, thank you for your service. πŸ‘‘


and that's the whole page, bestie! this came out of the reiser4progs manual and it's dated 02 Oct, 2002 β€” yes, a vintage icon, we stan a legacy. now go debug something and slay. πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from