Lines Matching +full:name +full:- +full:prefix

1 // SPDX-License-Identifier: GPL-2.0
4 * Portions Copyright (C) 2000-2008 Silicon Graphics, Inc.
25 * Get permission to use log-assisted atomic exchange of file extents.
45 return -EOPNOTSUPP; in xfs_attr_grab_log_assist()
47 /* Enable log-assisted xattrs. */ in xfs_attr_grab_log_assist()
74 * initialize the inode, attr_filter, name, namelen, value, and valuelen fields
82 struct xfs_mount *mp = args->dp->i_mount; in xfs_attr_change()
86 return -EIO; in xfs_attr_change()
88 error = xfs_qm_dqattach(args->dp); in xfs_attr_change()
94 * to remove, so we have to allow the name lookup prior to attribute in xfs_attr_change()
97 args->op_flags = XFS_DA_OP_OKNOENT; in xfs_attr_change()
104 args->op_flags |= XFS_DA_OP_LOGGED; in xfs_attr_change()
107 args->owner = args->dp->i_ino; in xfs_attr_change()
108 args->geo = mp->m_attr_geo; in xfs_attr_change()
109 args->whichfork = XFS_ATTR_FORK; in xfs_attr_change()
119 * namespaces translate to the XFS_ATTR_ROOT and XFS_ATTR_SECURE on-disk in xfs_attr_change()
129 args->attr_filter & (XFS_ATTR_ROOT | XFS_ATTR_SECURE)); in xfs_attr_change()
135 struct inode *inode, const char *name, void *value, size_t size) in xfs_xattr_get() argument
139 .attr_filter = handler->flags, in xfs_xattr_get()
140 .name = name, in xfs_xattr_get()
141 .namelen = strlen(name), in xfs_xattr_get()
148 return -EIO; in xfs_xattr_get()
173 struct inode *inode, const char *name, const void *value, in xfs_xattr_set() argument
178 .attr_filter = handler->flags, in xfs_xattr_set()
179 .name = name, in xfs_xattr_set()
180 .namelen = strlen(name), in xfs_xattr_set()
187 if (!error && (handler->flags & XFS_ATTR_ROOT)) in xfs_xattr_set()
188 xfs_forget_acl(inode, name); in xfs_xattr_set()
193 .prefix = XATTR_USER_PREFIX,
200 .prefix = XATTR_TRUSTED_PREFIX,
207 .prefix = XATTR_SECURITY_PREFIX,
223 char *prefix, in __xfs_xattr_put_listent() argument
225 unsigned char *name, 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()
244 memcpy(offset, prefix, prefix_len); in __xfs_xattr_put_listent()
246 strncpy(offset, (char *)name, namelen); /* real name */ in __xfs_xattr_put_listent()
251 context->count += prefix_len + namelen + 1; in __xfs_xattr_put_listent()
259 unsigned char *name, in xfs_xattr_put_listent() argument
264 char *prefix; in xfs_xattr_put_listent() local
267 ASSERT(context->count >= 0); in xfs_xattr_put_listent()
276 strncmp(name, SGI_ACL_FILE, in xfs_xattr_put_listent()
284 strncmp(name, SGI_ACL_DEFAULT, in xfs_xattr_put_listent()
301 prefix = XATTR_TRUSTED_PREFIX; in xfs_xattr_put_listent()
304 prefix = XATTR_SECURITY_PREFIX; in xfs_xattr_put_listent()
307 prefix = XATTR_USER_PREFIX; in xfs_xattr_put_listent()
311 __xfs_xattr_put_listent(context, prefix, prefix_len, name, in xfs_xattr_put_listent()
327 return -EIO; in xfs_vn_listxattr()
330 * First read the regular on-disk attributes. in xfs_vn_listxattr()
344 return -ERANGE; in xfs_vn_listxattr()