nilfs_ioctl_move_blocks(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nilfs_ioctl_move_blocks β€” a kernel API manual, but make it make sense

okay so bestie, welcome to the Kernel API Manual ✨ and specifically to nilfs_ioctl_move_blocks, aka the little function that does the actual heavy lifting while the garbage collector is out here being a main character πŸ—‘οΈπŸ‘‘


🌸 NAME 🌸

nilfs_ioctl_move_blocks β€” moves a valid inode's blocks during garbage collection, no cap 🧹✨


πŸ¦‹ SYNOPSIS πŸ¦‹

int nilfs_ioctl_move_blocks (struct super_block *sb , struct nilfs_argv
*argv , void *buf );

literally that's the whole signature, she's not complicated πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • sb β€” the superblock object, your classic superblock situation 🫢
  • argv β€” a vector of arguments that came straight from userspace, hi bestie πŸ‘‹
  • buf β€” an array of nilfs_vdesc structures, this is the good stuff πŸ“

✨ DESCRIPTION ✨

so here's the tea β˜•: nilfs_ioctl_move_blocks reads valid data/node blocks β€” the ones the garbage collector pointed at using that array of nilfs_vdesc structures β€” and then it stores them into the page caches of GC inodes. that's it. that's the whole vibe. it's giving "relocating your faves so nothing gets lost" πŸ¦‹πŸ’–


πŸ”₯ RETURN πŸ”₯

on success you get the number of processed nilfs_vdesc structures β€” slay, a count, we love a countable win πŸ‘‘ β€” or a negative error code if it went sideways πŸ˜­πŸ’€


🌈 SEE ALSO 🌈

the whole friend group, fr fr β€” kernel file ./fs/nilfs2/ioctl.c and then:


and that's the page!! πŸ’œ this one lives in ./fs/nilfs2, dated October 2026, and yes the header said nilfs_ioctl_move_blocks(9) the whole time β€” iykyk 🧚✨ bye bestie, go read some blocks πŸŽ€

πŸ“¦ where this page comes from