Re: [PATCH v3 0/4] Support user xattrs in cgroupfs

From: Daniel Xu
Date: Thu Mar 12 2020 - 16:10:07 EST


On Thu Mar 12, 2020 at 6:03 AM PST, Daniel Xu wrote:
> User extended attributes are useful as metadata storage for kernfs
> consumers like cgroups. Especially in the case of cgroups, it is useful
> to have a central metadata store that multiple processes/services can
> use to coordinate actions.
>
> A concrete example is for userspace out of memory killers. We want to
> let delegated cgroup subtree owners (running as non-root) to be able to
> say "please avoid killing this cgroup". This is especially important for
> desktop linux as delegated subtrees owners are less likely to run as
> root.
>
> The first two commits set up some stuff for the third commit which
> intro introduce a new flag, KERNFS_ROOT_SUPPORT_USER_XATTR,
> that lets kernfs consumers enable user xattr support. The final commit
> turns on user xattr support for cgroupfs.
>
> Changes from v2:
> - Rephrased commit message for "kernfs: kvmalloc xattr value instead of
> kmalloc"
>
> Changes from v1:
> - use kvmalloc for xattr values
> - modify simple_xattr_set to return removed size
> - add accounting for total user xattr size per cgroup
>
> Daniel Xu (4):
> kernfs: kvmalloc xattr value instead of kmalloc
> kernfs: Add removed_size out param for simple_xattr_set
> kernfs: Add option to enable user xattrs
> cgroupfs: Support user xattrs
>
> Daniel Xu (4):
> kernfs: kvmalloc xattr value instead of kmalloc
> kernfs: Add removed_size out param for simple_xattr_set
> kernfs: Add option to enable user xattrs
> cgroupfs: Support user xattrs
>
> fs/kernfs/inode.c | 91 ++++++++++++++++++++++++++++++++++++-
> fs/kernfs/kernfs-internal.h | 2 +
> fs/xattr.c | 17 +++++--
> include/linux/kernfs.h | 11 ++++-
> include/linux/xattr.h | 3 +-
> kernel/cgroup/cgroup.c | 3 +-
> mm/shmem.c | 2 +-
> 7 files changed, 119 insertions(+), 10 deletions(-)

Gah, messed up the copy paste. Let me know if you want a resend.