Lines Matching refs:context
222 struct xfs_attr_list_context *context, in __xfs_xattr_put_listent() argument
231 if (context->count < 0 || context->seen_enough) in __xfs_xattr_put_listent()
234 if (!context->buffer) in __xfs_xattr_put_listent()
237 arraytop = context->count + prefix_len + namelen + 1; in __xfs_xattr_put_listent()
238 if (arraytop > context->firstu) { in __xfs_xattr_put_listent()
239 context->count = -1; /* insufficient space */ in __xfs_xattr_put_listent()
240 context->seen_enough = 1; in __xfs_xattr_put_listent()
243 offset = context->buffer + context->count; in __xfs_xattr_put_listent()
251 context->count += prefix_len + namelen + 1; in __xfs_xattr_put_listent()
257 struct xfs_attr_list_context *context, in xfs_xattr_put_listent() argument
267 ASSERT(context->count >= 0); in xfs_xattr_put_listent()
279 context, XATTR_SYSTEM_PREFIX, in xfs_xattr_put_listent()
287 context, XATTR_SYSTEM_PREFIX, in xfs_xattr_put_listent()
311 __xfs_xattr_put_listent(context, prefix, prefix_len, name, in xfs_xattr_put_listent()
322 struct xfs_attr_list_context context; in xfs_vn_listxattr() local
332 memset(&context, 0, sizeof(context)); in xfs_vn_listxattr()
333 context.dp = XFS_I(inode); in xfs_vn_listxattr()
334 context.resynch = 1; in xfs_vn_listxattr()
335 context.buffer = size ? data : NULL; in xfs_vn_listxattr()
336 context.bufsize = size; in xfs_vn_listxattr()
337 context.firstu = context.bufsize; in xfs_vn_listxattr()
338 context.put_listent = xfs_xattr_put_listent; in xfs_vn_listxattr()
340 error = xfs_attr_list(&context); in xfs_vn_listxattr()
343 if (context.count < 0) in xfs_vn_listxattr()
346 return context.count; in xfs_vn_listxattr()