Hi,

On 2024/6/21 18:06, Gao Xiang wrote:


On 2024/6/21 17:37, Hongbo Li wrote:


On 2024/6/21 17:14, Gao Xiang wrote:


On 2024/6/21 14:18, Hongbo Li wrote:
Erofs over fscache need CONFIG_CACHEFILES_ONDEMAND in cachefiles
module. We cannot know whether it is supported from userspace, so
we export this feature to user by sysfs interface.

[Before]
$ cat /sys/fs/cachefiles/features/cachefiles_ondemand
cat: /sys/fs/cachefiles/features/cachefiles_ondemand: No such file or directory

[After]
$ cat /sys/fs/cachefiles/features/cachefiles_ondemand
supported

Signed-off-by: Hongbo Li <lihongb...@huawei.com>

I don't think such sysfs is needed, you could just use
`bind ondemand` to check if it is supported:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/cachefiles/daemon.c?h=v6.9#n780

Thanks for reply!
`bind ondemand` can check if it is supported, but it requires a more 
complicated procedure for user to implement. For example, a serial of system 
call (open, ioctl, close) are need.The containerd snapshotter daemon relies on 
these feature, only use a simple check method is usable in product environment. 
The snapshotter developers may know how cachefiles works, but for snapshotter 
users, a simple way to check whether snapshotter can be launched is useful. 
Even though they do not know how cachefiles works.

I don't think it needs to be considered as long as userspace
has a way to check since you could wrap up these as a helper
(I will do in the official erofs-utils later or if you have
some interest you could help too) and even some erofs-utils
binary for this.

sysfs maintainence just for some random feature doesn't
sound good to me (similar to ext4/xfs on-disk features) and
even if works, you cannot use this way for 5.19~6.10
upstream kernels.

Anyway, I know userspace folks always would like to have a
simple kernel way to check if a feature is supported for a
kernel, but (many years later) my current thought is that
the simplist way to check this is to introduce a simple
helper to try.  You cannot list every kernel features you
concerned as some sysfs file and in time properly, or you
could cause some inconsistency.

Anyway, that is my personal thought, having another detailed
list for all features users care about along with the real
implementaions seems unnecessary.

Thanks,
Gao Xiang

Reply via email to