Lines Matching refs:handler

43 #define for_each_xattr_handler(handlers, handler)		\  argument
45 for ((handler) = *(handlers)++; \
46 (handler) != NULL; \
47 (handler) = *(handlers)++)
56 const struct xattr_handler *handler; in xattr_resolve_name() local
63 for_each_xattr_handler(handlers, handler) { in xattr_resolve_name()
66 n = strcmp_prefix(*name, xattr_prefix(handler)); in xattr_resolve_name()
68 if (!handler->prefix ^ !*n) { in xattr_resolve_name()
74 return handler; in xattr_resolve_name()
140 const struct xattr_handler *handler; in __vfs_setxattr() local
142 handler = xattr_resolve_name(inode, &name); in __vfs_setxattr()
143 if (IS_ERR(handler)) in __vfs_setxattr()
144 return PTR_ERR(handler); in __vfs_setxattr()
145 if (!handler->set) in __vfs_setxattr()
149 return handler->set(handler, dentry, inode, name, value, size, flags); in __vfs_setxattr()
269 const struct xattr_handler *handler; in vfs_getxattr_alloc() local
278 handler = xattr_resolve_name(inode, &name); in vfs_getxattr_alloc()
279 if (IS_ERR(handler)) in vfs_getxattr_alloc()
280 return PTR_ERR(handler); in vfs_getxattr_alloc()
281 if (!handler->get) in vfs_getxattr_alloc()
283 error = handler->get(handler, dentry, inode, name, NULL, 0); in vfs_getxattr_alloc()
294 error = handler->get(handler, dentry, inode, name, value, error); in vfs_getxattr_alloc()
303 const struct xattr_handler *handler; in __vfs_getxattr() local
305 handler = xattr_resolve_name(inode, &name); in __vfs_getxattr()
306 if (IS_ERR(handler)) in __vfs_getxattr()
307 return PTR_ERR(handler); in __vfs_getxattr()
308 if (!handler->get) in __vfs_getxattr()
310 return handler->get(handler, dentry, inode, name, value, size); in __vfs_getxattr()
369 const struct xattr_handler *handler; in __vfs_removexattr() local
371 handler = xattr_resolve_name(inode, &name); in __vfs_removexattr()
372 if (IS_ERR(handler)) in __vfs_removexattr()
373 return PTR_ERR(handler); in __vfs_removexattr()
374 if (!handler->set) in __vfs_removexattr()
376 return handler->set(handler, dentry, inode, name, NULL, 0, XATTR_REPLACE); in __vfs_removexattr()
751 const struct xattr_handler *handler, **handlers = dentry->d_sb->s_xattr; in generic_listxattr() local
755 for_each_xattr_handler(handlers, handler) { in generic_listxattr()
756 if (!handler->name || in generic_listxattr()
757 (handler->list && !handler->list(dentry))) in generic_listxattr()
759 size += strlen(handler->name) + 1; in generic_listxattr()
765 for_each_xattr_handler(handlers, handler) { in generic_listxattr()
766 if (!handler->name || in generic_listxattr()
767 (handler->list && !handler->list(dentry))) in generic_listxattr()
769 len = strlen(handler->name); in generic_listxattr()
772 memcpy(buf, handler->name, len + 1); in generic_listxattr()
797 const char *xattr_full_name(const struct xattr_handler *handler, in xattr_full_name() argument
800 size_t prefix_len = strlen(xattr_prefix(handler)); in xattr_full_name()