Re: [PATCH 1/2] f2fs: register inodes which is able to donate pages
From: Christoph Hellwig
Date: Thu Jan 16 2025 - 01:24:30 EST
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.