Lines Matching refs:xattr
2 File: fs/xattr.c
13 #include <linux/xattr.h>
38 * In order to implement different sets of xattr operations for each xattr
95 * Updating an xattr will likely cause i_uid and i_gid
158 * @name - xattr name to set
788 * The get and set xattr handler operations are called with the remainder of
793 * Note: the list xattr handler operation when called from the vfs is passed a
807 * Allocate new xattr and copy in the value; but leave the name to callers.
829 * xattr GET operation for in-memory/pseudo filesystems
834 struct simple_xattr *xattr;
838 list_for_each_entry(xattr, &xattrs->head, list) {
839 if (strcmp(name, xattr->name))
842 ret = xattr->size;
844 if (size < xattr->size)
847 memcpy(buffer, xattr->value, xattr->size);
856 * simple_xattr_set - xattr SET operation for in-memory/pseudo filesystems
859 * @value: value of the xattr. If %NULL, will remove the attribute.
860 * @size: size of the new xattr
863 * %XATTR_CREATE is set, the xattr shouldn't exist already; otherwise fails
864 * with -EEXIST. If %XATTR_REPLACE is set, the xattr should exist;
872 struct simple_xattr *xattr;
890 list_for_each_entry(xattr, &xattrs->head, list) {
891 if (!strcmp(name, xattr->name)) {
893 xattr = new_xattr;
896 list_replace(&xattr->list, &new_xattr->list);
898 list_del(&xattr->list);
904 xattr = new_xattr;
908 xattr = NULL;
912 if (xattr) {
913 kfree(xattr->name);
914 kfree(xattr);
940 * xattr LIST operation for in-memory/pseudo filesystems
946 struct simple_xattr *xattr;
968 list_for_each_entry(xattr, &xattrs->head, list) {
970 if (!trusted && xattr_is_trusted(xattr->name))
973 err = xattr_list_one(&buffer, &remaining_size, xattr->name);