Freeman Exteriors

Fuse-xfs Apr 2026

Why? Because XFS inodes have a generation number (to handle inode reuse), and the low-level API lets us pass that back to the kernel’s dcache.

This is where the kernel-to-userspace shift gets interesting. In the kernel, XFS uses xfs_buf_t with b_ops for verification. In fuse-xfs , we just cast: fuse-xfs

Or, Why I Spent a Weekend Reimplementing a Journaling Filesystem as a Debugging Tool In the kernel, XFS uses xfs_buf_t with b_ops

static void xfs_lookup(fuse_req_t req, fuse_ino_t parent, const char *name) { struct xfs_inode *ip = xfs_iget(parent); xfs_dirent_t *de = xfs_dir_lookup(ip, name); fuse_reply_entry(req, &(struct fuse_entry_param){ .ino = de->inumber, .generation = ip->i_generation, .attr_timeout = 1.0, .entry_timeout = 1.0 }); } XFS divides the disk into equal-sized Allocation Groups. In fuse-xfs , each AG is a mmap() of a region in a backing file ( /var/lib/fuse-xfs/ag0.bin ). Reads and writes become pointer dereferences. Reads and writes become pointer dereferences

Scroll to Top

How can we help you?

Lets Get Your FREE Estimate!

Your local Owens Corning Platinum Preferred Roofing Contractor.

Ready to get your free estimate?

Your local Owens Corning Platinum Preferred Roofing Contractor.

Do you want your free estimate?