Lines Matching +full:name +full:- +full:prefix
1 // SPDX-License-Identifier: GPL-2.0
4 * Portions Copyright (C) 2000-2008 Silicon Graphics, Inc.
24 * Get permission to use log-assisted atomic exchange of file extents.
40 xlog_use_incompat_feat(mp->m_log); in xfs_attr_grab_log_assist()
43 * If log-assisted xattrs are already enabled, the caller can use the in xfs_attr_grab_log_assist()
44 * log assisted swap functions with the log-incompat reference we got. in xfs_attr_grab_log_assist()
46 if (xfs_sb_version_haslogxattrs(&mp->m_sb)) in xfs_attr_grab_log_assist()
56 error = -EOPNOTSUPP; in xfs_attr_grab_log_assist()
60 /* Enable log-assisted xattrs. */ in xfs_attr_grab_log_assist()
71 xlog_drop_incompat_feat(mp->m_log); in xfs_attr_grab_log_assist()
79 xlog_drop_incompat_feat(mp->m_log); in xfs_attr_rele_log_assist()
102 struct xfs_mount *mp = args->dp->i_mount; in xfs_attr_change()
106 ASSERT(!(args->op_flags & XFS_DA_OP_LOGGED)); in xfs_attr_change()
113 args->op_flags |= XFS_DA_OP_LOGGED; in xfs_attr_change()
127 struct inode *inode, const char *name, void *value, size_t size) in xfs_xattr_get() argument
131 .attr_filter = handler->flags, in xfs_xattr_get()
132 .name = name, in xfs_xattr_get()
133 .namelen = strlen(name), in xfs_xattr_get()
140 return -EIO; in xfs_xattr_get()
151 struct inode *inode, const char *name, const void *value, in xfs_xattr_set() argument
156 .attr_filter = handler->flags, in xfs_xattr_set()
158 .name = name, in xfs_xattr_set()
159 .namelen = strlen(name), in xfs_xattr_set()
166 if (!error && (handler->flags & XFS_ATTR_ROOT)) in xfs_xattr_set()
167 xfs_forget_acl(inode, name); in xfs_xattr_set()
172 .prefix = XATTR_USER_PREFIX,
179 .prefix = XATTR_TRUSTED_PREFIX,
186 .prefix = XATTR_SECURITY_PREFIX,
202 char *prefix, in __xfs_xattr_put_listent() argument
204 unsigned char *name, in __xfs_xattr_put_listent() argument
210 if (context->count < 0 || context->seen_enough) in __xfs_xattr_put_listent()
213 if (!context->buffer) in __xfs_xattr_put_listent()
216 arraytop = context->count + prefix_len + namelen + 1; in __xfs_xattr_put_listent()
217 if (arraytop > context->firstu) { in __xfs_xattr_put_listent()
218 context->count = -1; /* insufficient space */ in __xfs_xattr_put_listent()
219 context->seen_enough = 1; in __xfs_xattr_put_listent()
222 offset = context->buffer + context->count; in __xfs_xattr_put_listent()
223 memcpy(offset, prefix, prefix_len); in __xfs_xattr_put_listent()
225 strncpy(offset, (char *)name, namelen); /* real name */ in __xfs_xattr_put_listent()
230 context->count += prefix_len + namelen + 1; in __xfs_xattr_put_listent()
238 unsigned char *name, in xfs_xattr_put_listent() argument
242 char *prefix; in xfs_xattr_put_listent() local
245 ASSERT(context->count >= 0); in xfs_xattr_put_listent()
250 strncmp(name, SGI_ACL_FILE, in xfs_xattr_put_listent()
258 strncmp(name, SGI_ACL_DEFAULT, in xfs_xattr_put_listent()
275 prefix = XATTR_TRUSTED_PREFIX; in xfs_xattr_put_listent()
278 prefix = XATTR_SECURITY_PREFIX; in xfs_xattr_put_listent()
281 prefix = XATTR_USER_PREFIX; in xfs_xattr_put_listent()
285 __xfs_xattr_put_listent(context, prefix, prefix_len, name, in xfs_xattr_put_listent()
301 return -EIO; in xfs_vn_listxattr()
304 * First read the regular on-disk attributes. in xfs_vn_listxattr()
318 return -ERANGE; in xfs_vn_listxattr()