Re: [f2fs-dev] [PATCH v2] f2fs: another way to set large folio by remembering inode number
From: Eric Biggers
Date: Thu May 21 2026 - 23:54:36 EST
On Fri, May 22, 2026 at 03:32:39AM +0000, Jaegeuk Kim wrote:
> On 05/21, Theodore Tso wrote:
> > On Thu, May 21, 2026 at 01:51:08AM -0700, Christoph Hellwig wrote:
> > > > You haven't sent a proposal. This is a reply to a reply to a reply of a
> > > > patch. There's no justification for why f2fs is so special that it
> > > > needs this. What the hell is going on? You know this is not the way to
> > > > get code merged into Linux.
> > >
> > > None of this got properly answers, and this broken interface now landed
> > > in linux-next. IT is offloading a user.* xattr which is free-form
> > > user data with semantics that are weird to say it very nicely.
> > >
> > > All this was done against the advice in the mailing list discussion.
> >
> > So let me get this straight. This is a magic xattr interface which is
> > not even persisted in the file system, but instead sets a 32-bit
> > bitmask in the struct inode which disappears once the inode gets
> > flushed from the inode stack. And it uses a generic xattr name,
> > "user.fadvise".
> >
> > There's no way in *hell* any other file system is likely to adopt such
> > a broken interface, so why didn't you just use an ioctl to set this
> > magic f2fs-specific flag?
>
> I went this route because Android heavily restricts ioctl() permissions
> and we needed broader access for this to work within the framework.
It's straightforward (2 lines I think) to update Android's SELinux
policy to allow an ioctl in all domains. So that doesn't seem like a
reason to not use an ioctl. In fact this is actually a reason *to* use
an ioctl, as it shows that ioctls can be allowed/denied independently as
needed, whereas xattrs just use the file write permission.
- Eric