nilfs_ioctl_..._inode_block(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nilfs_ioctl_..._inode_block β€” bestie's guide to the Kernel API Manual (section 9) ✨

okay so picture this: you're deep in the kernel, section 9 of the Kernel API Manual, and you meet this little function. her whole job? getting a data/node block all prepped and pretty so the garbage collector can move it. no cap, that's it. πŸŽ€


🌸 NAME 🌸

nilfs_ioctl_move_inode_block β€” prepare data/node block for moving by GC πŸ’«


πŸ¦‹ SYNOPSIS πŸ¦‹

int nilfs_ioctl_move_inode_block (struct inode *inode , struct
nilfs_vdesc *vdesc , struct list_head *buffers );

like, yes, she's a mouthful, but she's worth it 🫢


πŸ’– ARGUMENTS πŸ’–

  • inode β€” the inode object, mmkay? the actual file-ish thing we're working with.
  • vdesc β€” descriptor of virtual block number. lowkey the little ID card for the block πŸ‘‘
  • buffers β€” list of moving buffers. it's giving "queue of stuff in transit" energy ✨

πŸ”₯ DESCRIPTION πŸ”₯

so what does nilfs_ioctl_move_inode_block actually do? she registers the data/node buffer in the GC pagecache and submits a read request. that's the whole vibe. literally registers + submits, and now the block is queued up and ready to be read. slay. πŸ’…


⭐ RETURN ⭐

0 on success πŸŽ‰ β€” or one of these negative error codes if things go sideways:

  • -EEXIST β€” Block conflict detected. (someone else called dibs 😭)
  • -EINVAL β€” Invalid virtual block descriptor. (the ID card did NOT check out πŸ’€)
  • -EIO β€” I/O error.
  • -ENOENT β€” Requested block doesn't exist. (ghost block πŸ‘»)
  • -ENOMEM β€” Insufficient memory available. (no room, no vibes πŸ™ˆ)

🌈 SEE ALSO 🌈

Kernel file ./fs/nilfs2/ioctl.c, plus the whole friend group β€” go say hi to all of them:


ngl, cross-referencing is basically the group chat of the kernel. iykyk 🧚

k that's the whole page bestie, and one last thing before you go β€” this one lives in ./fs/nilfs2, dated October 2026, and it's filed under nilfs_ioctl_..._inode_block(9) in the Kernel API Manual. periodt. πŸ’œπŸ“

πŸ“¦ where this page comes from