xattr: add listxattr helper

Add a tiny helper to determine whether an xattr handler given a specific
dentry supports listing the requested xattr. We will use this helper in
various filesystems in later commits.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
This commit is contained in:
Christian Brauner 2023-02-01 14:14:53 +01:00 committed by Christian Brauner (Microsoft)
parent f2620f166e
commit 2db8a94804
No known key found for this signature in database
GPG Key ID: 91C61BC06578DCA2

View File

@ -47,6 +47,22 @@ struct xattr_handler {
size_t size, int flags);
};
/**
* xattr_handler_can_list - check whether xattr can be listed
* @handler: handler for this type of xattr
* @dentry: dentry whose inode xattr to list
*
* Determine whether the xattr associated with @dentry can be listed given
* @handler.
*
* Return: true if xattr can be listed, false if not.
*/
static inline bool xattr_handler_can_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 {