nilfs_ioctl_set_suinfo(9)
β¨ nilfs_ioctl_set_suinfo(9) β¨
okay so bestie, welcome to the Kernel API Manual π β this one's a little ioctl that goes and rewrites your segment usage info, and honestly she's giving very niche-but-important energy. let's get into it π
πΈ NAME πΈ
nilfs_ioctl_set_suinfo β set segment usage info β¨
like, she literally sets the segment usage info. that's the whole vibe. no cap.
π¦ SYNOPSIS π¦
int nilfs_ioctl_set_suinfo (struct inode *inode , struct file *filp ,
unsigned int cmd , void __user *argp );
π ARGUMENTS π
inodeβ the inode object, obviously. main character of the inode world πfilpβ the file object. yes it's a file, yes it shows up, yes it matters π«Άcmdβ the ioctl's request code. this is the "what do you actually want from me" parameter π«argpβ a pointer onto the argument coming from userspace. very "handing you a note from the other side" of her π§
β DESCRIPTION β
So here's the tea π: this function expects an array of nilfs_suinfo_update structures encapsulated in nilfs_argv, and then it goes ahead and updates the segment usage info according to the flags in nilfs_suinfo_update. literally that's it, that's the whole job β takes your array, reads your flags, updates the suinfo. slay π₯
π RETURN π
Returns 0 on success β¨ β or one of these negative error codes if things go sideways, and ngl some of these are giving "uh oh" π:
-EEXISTβ Block conflict detected. like, the block was already taken, awkward π-EFAULTβ Error copying input data. the copy just did not happen, bestie π-EINVALβ Invalid values in input (segment number, flags or nblocks). one of those three was not it.-EIOβ I/O error. classic.-ENOMEMβ Insufficient memory available. she's hungry and there's no RAM snacks π-EPERMβ Not enough permissions. you don't have the keys to this party π
fr fr, all of these are negative codes β do not be out here treating them as positive vibes.
π SEE ALSO π
okay this list is lowkey iconic, it's the whole nilfs2 ioctl squad π«Ά β from the kernel file ./fs/nilfs2/ioctl.c:
nilfs_ioctl_wrap_copy(9)nilfs_fileattr_get(9)nilfs_fileattr_set(9)nilfs_ioctl_getversion(9)nilfs_ioctl_change_cpmode(9)nilfs_ioctl_delete_checkpoint(9)nilfs_ioctl_do_get_cpinfo(9)nilfs_ioctl_get_cpstat(9)nilfs_ioctl_do_get_suinfo(9)nilfs_ioctl_get_sustat(9)nilfs_ioctl_do_get_vinfo(9)nilfs_ioctl_do_get_bdescs(9)nilfs_ioctl_get_bdescs(9)nilfs_ioctl_move_inode_block(9)nilfs_ioctl_move_blocks(9)nilfs_ioctl_delete_checkpoints(9)nilfs_ioctl_free_vblocknrs(9)nilfs_ioctl_mark_blocks_dirty(9)nilfs_ioctl_clean_segments(9)nilfs_ioctl_sync(9)nilfs_ioctl_resize(9)nilfs_ioctl_trim_fs(9)nilfs_ioctl_set_alloc_range(9)nilfs_ioctl_get_info(9)nilfs_ioctl_get_fslabel(9)nilfs_ioctl_set_fslabel(9)
and that's the page, bestie π
signed, sealed, delivered from ./fs/nilfs2, dated October 2026, and yeah β she's still nilfs_ioctl_set_suinfo(9) in case you forgot. iykyk π¦β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms