shmem.c (0200679fc7953177941e41c2a4241d0b6c2c5de8) shmem.c (5de75970c9fd7220e394b76e6d20fbafa1369b5a)
1/*
2 * Resizable virtual memory filesystem for Linux.
3 *
4 * Copyright (C) 2000 Linus Torvalds.
5 * 2000 Transmeta Corp.
6 * 2000-2001 Christoph Rohland
7 * 2000-2001 SAP AG
8 * 2002 Red Hat Inc.

--- 3584 unchanged lines hidden (view full) ---

3593
3594static int shmem_xattr_handler_set(const struct xattr_handler *handler,
3595 struct mnt_idmap *idmap,
3596 struct dentry *unused, struct inode *inode,
3597 const char *name, const void *value,
3598 size_t size, int flags)
3599{
3600 struct shmem_inode_info *info = SHMEM_I(inode);
1/*
2 * Resizable virtual memory filesystem for Linux.
3 *
4 * Copyright (C) 2000 Linus Torvalds.
5 * 2000 Transmeta Corp.
6 * 2000-2001 Christoph Rohland
7 * 2000-2001 SAP AG
8 * 2002 Red Hat Inc.

--- 3584 unchanged lines hidden (view full) ---

3593
3594static int shmem_xattr_handler_set(const struct xattr_handler *handler,
3595 struct mnt_idmap *idmap,
3596 struct dentry *unused, struct inode *inode,
3597 const char *name, const void *value,
3598 size_t size, int flags)
3599{
3600 struct shmem_inode_info *info = SHMEM_I(inode);
3601 int err;
3601 struct simple_xattr *old_xattr;
3602
3603 name = xattr_full_name(handler, name);
3602
3603 name = xattr_full_name(handler, name);
3604 err = simple_xattr_set(&info->xattrs, name, value, size, flags, NULL);
3605 if (!err) {
3604 old_xattr = simple_xattr_set(&info->xattrs, name, value, size, flags);
3605 if (!IS_ERR(old_xattr)) {
3606 simple_xattr_free(old_xattr);
3607 old_xattr = NULL;
3606 inode->i_ctime = current_time(inode);
3607 inode_inc_iversion(inode);
3608 }
3608 inode->i_ctime = current_time(inode);
3609 inode_inc_iversion(inode);
3610 }
3609 return err;
3611 return PTR_ERR(old_xattr);
3610}
3611
3612static const struct xattr_handler shmem_security_xattr_handler = {
3613 .prefix = XATTR_SECURITY_PREFIX,
3614 .get = shmem_xattr_handler_get,
3615 .set = shmem_xattr_handler_set,
3616};
3617

--- 1225 unchanged lines hidden ---
3612}
3613
3614static const struct xattr_handler shmem_security_xattr_handler = {
3615 .prefix = XATTR_SECURITY_PREFIX,
3616 .get = shmem_xattr_handler_get,
3617 .set = shmem_xattr_handler_set,
3618};
3619

--- 1225 unchanged lines hidden ---