Lines Matching refs:context
99 struct xfs_attr_list_context *context, in __xfs_xattr_put_listent() argument
108 if (context->count < 0 || context->seen_enough) in __xfs_xattr_put_listent()
111 if (!context->buffer) in __xfs_xattr_put_listent()
114 arraytop = context->count + prefix_len + namelen + 1; in __xfs_xattr_put_listent()
115 if (arraytop > context->firstu) { in __xfs_xattr_put_listent()
116 context->count = -1; /* insufficient space */ in __xfs_xattr_put_listent()
117 context->seen_enough = 1; in __xfs_xattr_put_listent()
120 offset = context->buffer + context->count; in __xfs_xattr_put_listent()
128 context->count += prefix_len + namelen + 1; in __xfs_xattr_put_listent()
134 struct xfs_attr_list_context *context, in xfs_xattr_put_listent() argument
143 ASSERT(context->count >= 0); in xfs_xattr_put_listent()
151 context, XATTR_SYSTEM_PREFIX, in xfs_xattr_put_listent()
159 context, XATTR_SYSTEM_PREFIX, in xfs_xattr_put_listent()
183 __xfs_xattr_put_listent(context, prefix, prefix_len, name, in xfs_xattr_put_listent()
194 struct xfs_attr_list_context context; in xfs_vn_listxattr() local
201 memset(&context, 0, sizeof(context)); in xfs_vn_listxattr()
202 context.dp = XFS_I(inode); in xfs_vn_listxattr()
203 context.resynch = 1; in xfs_vn_listxattr()
204 context.buffer = size ? data : NULL; in xfs_vn_listxattr()
205 context.bufsize = size; in xfs_vn_listxattr()
206 context.firstu = context.bufsize; in xfs_vn_listxattr()
207 context.put_listent = xfs_xattr_put_listent; in xfs_vn_listxattr()
209 error = xfs_attr_list(&context); in xfs_vn_listxattr()
212 if (context.count < 0) in xfs_vn_listxattr()
215 return context.count; in xfs_vn_listxattr()