Lines Matching refs:handler
46 #define for_each_xattr_handler(handlers, handler) \ argument
48 for ((handler) = *(handlers)++; \
49 (handler) != NULL; \
50 (handler) = *(handlers)++)
59 const struct xattr_handler *handler; in xattr_resolve_name() local
66 for_each_xattr_handler(handlers, handler) { in xattr_resolve_name()
69 n = strcmp_prefix(*name, xattr_prefix(handler)); in xattr_resolve_name()
71 if (!handler->prefix ^ !*n) { in xattr_resolve_name()
77 return handler; in xattr_resolve_name()
165 const struct xattr_handler *handler; in xattr_supports_user_prefix() local
173 for_each_xattr_handler(handlers, handler) { in xattr_supports_user_prefix()
174 if (!strncmp(xattr_prefix(handler), XATTR_USER_PREFIX, in xattr_supports_user_prefix()
188 const struct xattr_handler *handler; in __vfs_setxattr() local
193 handler = xattr_resolve_name(inode, &name); in __vfs_setxattr()
194 if (IS_ERR(handler)) in __vfs_setxattr()
195 return PTR_ERR(handler); in __vfs_setxattr()
196 if (!handler->set) in __vfs_setxattr()
200 return handler->set(handler, idmap, dentry, inode, name, value, in __vfs_setxattr()
379 const struct xattr_handler *handler; in vfs_getxattr_alloc() local
388 handler = xattr_resolve_name(inode, &name); in vfs_getxattr_alloc()
389 if (IS_ERR(handler)) in vfs_getxattr_alloc()
390 return PTR_ERR(handler); in vfs_getxattr_alloc()
391 if (!handler->get) in vfs_getxattr_alloc()
393 error = handler->get(handler, dentry, inode, name, NULL, 0); in vfs_getxattr_alloc()
404 error = handler->get(handler, dentry, inode, name, value, error); in vfs_getxattr_alloc()
413 const struct xattr_handler *handler; in __vfs_getxattr() local
418 handler = xattr_resolve_name(inode, &name); in __vfs_getxattr()
419 if (IS_ERR(handler)) in __vfs_getxattr()
420 return PTR_ERR(handler); in __vfs_getxattr()
421 if (!handler->get) in __vfs_getxattr()
423 return handler->get(handler, dentry, inode, name, value, size); in __vfs_getxattr()
508 const struct xattr_handler *handler; in __vfs_removexattr() local
513 handler = xattr_resolve_name(inode, &name); in __vfs_removexattr()
514 if (IS_ERR(handler)) in __vfs_removexattr()
515 return PTR_ERR(handler); in __vfs_removexattr()
516 if (!handler->set) in __vfs_removexattr()
518 return handler->set(handler, idmap, dentry, inode, name, NULL, 0, in __vfs_removexattr()
1006 const struct xattr_handler *handler, * const *handlers = dentry->d_sb->s_xattr; in generic_listxattr() local
1010 for_each_xattr_handler(handlers, handler) { in generic_listxattr()
1011 if (!handler->name || (handler->list && !handler->list(dentry))) in generic_listxattr()
1013 err = xattr_list_one(&buffer, &remaining_size, handler->name); in generic_listxattr()
1037 const char *xattr_full_name(const struct xattr_handler *handler, in xattr_full_name() argument
1040 size_t prefix_len = strlen(xattr_prefix(handler)); in xattr_full_name()