Re: [PATCH v4 38/68] vfs, cachefiles: Mark a backing file in use with an inode flag
From: Christoph Hellwig
Date: Mon Jan 10 2022 - 03:00:34 EST
On Sat, Jan 08, 2022 at 07:17:33AM +0000, Matthew Wilcox wrote:
> On Sat, Jan 08, 2022 at 09:08:57AM +0200, Amir Goldstein wrote:
> > > +#define S_KERNEL_FILE (1 << 17) /* File is in use by the kernel (eg. fs/cachefiles) */
> >
> > Trying to brand this flag as a generic "in use by kernel" is misleading.
> > Modules other than cachefiles cannot set/clear this flag, because then
> > cachefiles won't know that it is allowed to set/clear the flag.
>
> Huh? If some other kernel module sets it, cachefiles will try to set it,
> see it's already set, and fail. Presumably cachefiles does not go round
> randomly "unusing" files that it has not previously started using.
>
> I mean, yes, obviously, it's a kernel module, it can set and clear
> whatever flags it likes on any inode in the system, but conceptually,
> it's an advisory whole-file lock.
So let's name it that way. We have plenty of files in kernel use using
filp_open and this flag very obviously means something else.