Lines Matching refs:xattr

3   File: fs/xattr.c
14 #include <linux/xattr.h>
39 * In order to implement different sets of xattr operations for each xattr
96 * Updating an xattr will likely cause i_uid and i_gid
186 * @name - xattr name to set
239 * @name: xattr name to set
450 * @name: name of xattr to remove
886 * The get and set xattr handler operations are called with the remainder of
891 * Note: the list xattr handler operation when called from the vfs is passed a
905 * Allocate new xattr and copy in the value; but leave the name to callers.
927 * xattr GET operation for in-memory/pseudo filesystems
932 struct simple_xattr *xattr;
936 list_for_each_entry(xattr, &xattrs->head, list) {
937 if (strcmp(name, xattr->name))
940 ret = xattr->size;
942 if (size < xattr->size)
945 memcpy(buffer, xattr->value, xattr->size);
954 * simple_xattr_set - xattr SET operation for in-memory/pseudo filesystems
957 * @value: value of the xattr. If %NULL, will remove the attribute.
958 * @size: size of the new xattr
960 * @removed_size: returns size of the removed xattr, -1 if none removed
962 * %XATTR_CREATE is set, the xattr shouldn't exist already; otherwise fails
963 * with -EEXIST. If %XATTR_REPLACE is set, the xattr should exist;
972 struct simple_xattr *xattr;
993 list_for_each_entry(xattr, &xattrs->head, list) {
994 if (!strcmp(name, xattr->name)) {
996 xattr = new_xattr;
999 list_replace(&xattr->list, &new_xattr->list);
1001 *removed_size = xattr->size;
1003 list_del(&xattr->list);
1005 *removed_size = xattr->size;
1011 xattr = new_xattr;
1015 xattr = NULL;
1019 if (xattr) {
1020 kfree(xattr->name);
1021 kvfree(xattr);
1047 * xattr LIST operation for in-memory/pseudo filesystems
1053 struct simple_xattr *xattr;
1075 list_for_each_entry(xattr, &xattrs->head, list) {
1077 if (!trusted && xattr_is_trusted(xattr->name))
1080 err = xattr_list_one(&buffer, &remaining_size, xattr->name);