Re: [PATCH 07/16] fs: add inode operations to get/set/remove fscaps

From: Christian Brauner
Date: Fri Dec 01 2023 - 12:03:05 EST


On Wed, Nov 29, 2023 at 03:50:25PM -0600, Seth Forshee (DigitalOcean) wrote:
> Add inode operations for getting, setting and removing filesystem
> capabilities rather than passing around raw xattr data. This provides
> better type safety for ids contained within xattrs.
>
> Signed-off-by: Seth Forshee (DigitalOcean) <sforshee@xxxxxxxxxx>
> ---
> include/linux/fs.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 98b7a7a8c42e..a0a77f67b999 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -2002,6 +2002,11 @@ struct inode_operations {
> int);
> int (*set_acl)(struct mnt_idmap *, struct dentry *,
> struct posix_acl *, int);
> + int (*get_fscaps)(struct mnt_idmap *, struct dentry *,
> + struct vfs_caps *);
> + int (*set_fscaps)(struct mnt_idmap *, struct dentry *,
> + const struct vfs_caps *, int flags);

If it's really a flags argument, then unsigned int, please,
Reviewed-by: Christian Brauner <brauner@xxxxxxxxxx>

> + int (*remove_fscaps)(struct mnt_idmap *, struct dentry *);
> int (*fileattr_set)(struct mnt_idmap *idmap,
> struct dentry *dentry, struct fileattr *fa);
> int (*fileattr_get)(struct dentry *dentry, struct fileattr *fa);

Ofc we managed to add get/set_foo() and bar_get/set().