Lines Matching refs:context
97 struct xfs_attr_list_context *context, in __xfs_xattr_put_listent() argument
106 if (context->count < 0 || context->seen_enough) in __xfs_xattr_put_listent()
109 if (!context->buffer) in __xfs_xattr_put_listent()
112 arraytop = context->count + prefix_len + namelen + 1; in __xfs_xattr_put_listent()
113 if (arraytop > context->firstu) { in __xfs_xattr_put_listent()
114 context->count = -1; /* insufficient space */ in __xfs_xattr_put_listent()
115 context->seen_enough = 1; in __xfs_xattr_put_listent()
118 offset = context->buffer + context->count; in __xfs_xattr_put_listent()
126 context->count += prefix_len + namelen + 1; in __xfs_xattr_put_listent()
132 struct xfs_attr_list_context *context, in xfs_xattr_put_listent() argument
141 ASSERT(context->count >= 0); in xfs_xattr_put_listent()
149 context, XATTR_SYSTEM_PREFIX, in xfs_xattr_put_listent()
157 context, XATTR_SYSTEM_PREFIX, in xfs_xattr_put_listent()
181 __xfs_xattr_put_listent(context, prefix, prefix_len, name, in xfs_xattr_put_listent()
192 struct xfs_attr_list_context context; in xfs_vn_listxattr() local
199 memset(&context, 0, sizeof(context)); in xfs_vn_listxattr()
200 context.dp = XFS_I(inode); in xfs_vn_listxattr()
201 context.resynch = 1; in xfs_vn_listxattr()
202 context.buffer = size ? data : NULL; in xfs_vn_listxattr()
203 context.bufsize = size; in xfs_vn_listxattr()
204 context.firstu = context.bufsize; in xfs_vn_listxattr()
205 context.put_listent = xfs_xattr_put_listent; in xfs_vn_listxattr()
207 error = xfs_attr_list(&context); in xfs_vn_listxattr()
210 if (context.count < 0) in xfs_vn_listxattr()
213 return context.count; in xfs_vn_listxattr()