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
159 * @name - xattr name to set
789 * The get and set xattr handler operations are called with the remainder of
794 * Note: the list xattr handler operation when called from the vfs is passed a
808 * Allocate new xattr and copy in the value; but leave the name to callers.
830 * xattr GET operation for in-memory/pseudo filesystems
835 struct simple_xattr *xattr;
839 list_for_each_entry(xattr, &xattrs->head, list) {
840 if (strcmp(name, xattr->name))
843 ret = xattr->size;
845 if (size < xattr->size)
848 memcpy(buffer, xattr->value, xattr->size);
857 * simple_xattr_set - xattr SET operation for in-memory/pseudo filesystems
860 * @value: value of the xattr. If %NULL, will remove the attribute.
861 * @size: size of the new xattr
864 * %XATTR_CREATE is set, the xattr shouldn't exist already; otherwise fails
865 * with -EEXIST. If %XATTR_REPLACE is set, the xattr should exist;
873 struct simple_xattr *xattr;
891 list_for_each_entry(xattr, &xattrs->head, list) {
892 if (!strcmp(name, xattr->name)) {
894 xattr = new_xattr;
897 list_replace(&xattr->list, &new_xattr->list);
899 list_del(&xattr->list);
905 xattr = new_xattr;
909 xattr = NULL;
913 if (xattr) {
914 kfree(xattr->name);
915 kfree(xattr);
941 * xattr LIST operation for in-memory/pseudo filesystems
947 struct simple_xattr *xattr;
969 list_for_each_entry(xattr, &xattrs->head, list) {
971 if (!trusted && xattr_is_trusted(xattr->name))
974 err = xattr_list_one(&buffer, &remaining_size, xattr->name);