summaryrefslogtreecommitdiffstats
path: root/fs/inode.c
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2016-09-29 17:48:39 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2016-10-07 20:10:42 -0400
commitd0a5b995a308347fdb1bb0412df32acd0312523b (patch)
tree080efa7c4513aa0e42e9e65c75260546f9b303ac /fs/inode.c
parentb6ba11773d9535fbe068232f2231c99740bb32db (diff)
downloadlinux-0-day-d0a5b995a308347fdb1bb0412df32acd0312523b.tar.gz
linux-0-day-d0a5b995a308347fdb1bb0412df32acd0312523b.tar.xz
vfs: Add IOP_XATTR inode operations flag
The IOP_XATTR inode operations flag in inode->i_opflags indicates that the inode has xattr support. The flag is automatically set by new_inode() on filesystems with xattr support (where sb->s_xattr is defined), and cleared otherwise. Filesystems can explicitly clear it for inodes that should not have xattr support. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/inode.c')
-rw-r--r--fs/inode.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/inode.c b/fs/inode.c
index 7e3ef3af3db9e..705f8609fdb8c 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -140,6 +140,8 @@ int inode_init_always(struct super_block *sb, struct inode *inode)
inode->i_fop = &no_open_fops;
inode->__i_nlink = 1;
inode->i_opflags = 0;
+ if (sb->s_xattr)
+ inode->i_opflags |= IOP_XATTR;
i_uid_write(inode, 0);
i_gid_write(inode, 0);
atomic_set(&inode->i_writecount, 0);