Add two tiny helpers to determine whether a given dentry supports listing the requested xattr or posix acl. We will use this helper in various filesystems in later commits. Signed-off-by: Christian Brauner (Microsoft) <brauner@xxxxxxxxxx> --- include/linux/posix_acl_xattr.h | 5 +++++ include/linux/xattr.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/include/linux/posix_acl_xattr.h b/include/linux/posix_acl_xattr.h index 54cd7a14330d..905d532ccd6e 100644 --- a/include/linux/posix_acl_xattr.h +++ b/include/linux/posix_acl_xattr.h @@ -68,6 +68,11 @@ static inline int posix_acl_type(const char *name) return -1; } +static inline bool posix_acl_dentry_list(struct dentry *dentry) +{ + return IS_POSIXACL(d_backing_inode(dentry)); +} + extern const struct xattr_handler posix_acl_access_xattr_handler; extern const struct xattr_handler posix_acl_default_xattr_handler; diff --git a/include/linux/xattr.h b/include/linux/xattr.h index 2e7dd44926e4..d1150b7ba8d0 100644 --- a/include/linux/xattr.h +++ b/include/linux/xattr.h @@ -47,6 +47,12 @@ struct xattr_handler { size_t size, int flags); }; +static inline bool xattr_dentry_list(const struct xattr_handler *handler, + struct dentry *dentry) +{ + return handler && (!handler->list || handler->list(dentry)); +} + const char *xattr_full_name(const struct xattr_handler *, const char *); struct xattr { -- 2.34.1