On Wed, Jan 15, 2025 at 10:16:51PM +0000, Jaegeuk Kim wrote: > This patch introduces an inode list to keep the page cache ranges that users > can donate pages together. > > #define F2FS_IOC_DONATE_RANGE _IOW(F2FS_IOCTL_MAGIC, 27, \ > struct f2fs_donate_range) > struct f2fs_donate_range { > __u64 start; > __u64 len; > }; > e.g., ioctl(F2FS_IOC_DONATE_RANGE, &range); This is not a very good description. "donate" here seems to basically mean a invalidate_inode_pages2_range. Which is a strange use of the word. what are the use cases? Why is this queued up to a thread and not done inline? Why is this in f2fs and not in common code. I also which file systems wouldn't just add random fs specific ioctls all the time without any kinds of discussion of the API. f2fs is by far the worst offender there, but not the only one.