Re: [PATCH v4 38/68] vfs, cachefiles: Mark a backing file in use with an inode flag
From: Matthew Wilcox
Date: Sat Jan 08 2022 - 02:18:10 EST
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.