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.