fserror_report(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– fserror_report(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual entry for fserror_report β€” literally the function that reports a filesystem error of some kind. no cap, that’s the whole vibe.


✨ NAME ✨

fserror_report β€” report a filesystem error of some kind πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

void fserror_report (struct super_block *sb , struct inode *inode , enum
       fserror_type type , loff_t pos , u64 len , int error , gfp_t gfp );

🌸 ARGUMENTS 🌸

  • sb β€” superblock of the filesystem, obvi 🫢
  • inode β€” inode within that filesystem, if applicable
  • type β€” the type of error encountered, gotta know what kind of mess we’re in
  • pos β€” start of the inode range affected, if applicable
  • len β€” length of the inode range affected, if applicable
  • error β€” the error number encountered; it must be negative, no exceptions 😭
  • gfp β€” memory allocation flags for conveying the event to a worker, since this function can be called from atomic contexts

πŸ¦‹ DESCRIPTION πŸ¦‹

so fserror_report reports the details of a filesystem error to the super_operations::report_error callback if it’s present, and also to fsnotify for distribution to userspace. ✨ sb, gfp, type, and error must all be specified β€” every single time. for file I/O errors, the inode, pos, and len fields must also be specified. for file metadata errors, inode must be specified. and if inode is not NULL, then inode->i_sb must point to sb β€” that’s the vibe check it has to pass, fr fr.

reporting work is deferred to a workqueue to ensure that ->report_error is called from process context without any locks held. an active reference to the inode is maintained until event handling is complete, and unmount will wait for queued events to drain. periodt. πŸ’…


πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./fs/fserror.c β€” go read it, bestie πŸ‘‘

mwah πŸ’‹ this page is the fserror_report(9) entry from source/version ./fs, dated October 2026. bye bestie, go report those errors responsibly πŸ«ΆπŸ’–

πŸ“¦ where this page comes from