summaryrefslogtreecommitdiffstats
path: root/block/blk-merge.c
diff options
context:
space:
mode:
authorJeff Mahoney <jeffm@suse.com>2019-10-24 10:31:27 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-17 20:35:20 +0100
commit7b3ea9bb9b947d4ea7f0570162dbc1e036e2c9a0 (patch)
treee3274a6c8d0fbbf9f440f6b00725f921fd3d7be5 /block/blk-merge.c
parent595a92a4f19d29d856311397f3695a92994fe7a3 (diff)
downloadlinux-stable-7b3ea9bb9b947d4ea7f0570162dbc1e036e2c9a0.tar.gz
linux-stable-7b3ea9bb9b947d4ea7f0570162dbc1e036e2c9a0.tar.bz2
linux-stable-7b3ea9bb9b947d4ea7f0570162dbc1e036e2c9a0.zip
reiserfs: fix extended attributes on the root directory
commit 60e4cf67a582d64f07713eda5fcc8ccdaf7833e6 upstream. Since commit d0a5b995a308 (vfs: Add IOP_XATTR inode operations flag) extended attributes haven't worked on the root directory in reiserfs. This is due to reiserfs conditionally setting the sb->s_xattrs handler array depending on whether it located or create the internal privroot directory. It necessarily does this after the root inode is already read in. The IOP_XATTR flag is set during inode initialization, so it never gets set on the root directory. This commit unconditionally assigns sb->s_xattrs and clears IOP_XATTR on internal inodes. The old return values due to the conditional assignment are handled via open_xa_root, which now returns EOPNOTSUPP as the VFS would have done. Link: https://lore.kernel.org/r/20191024143127.17509-1-jeffm@suse.com CC: stable@vger.kernel.org Fixes: d0a5b995a308 ("vfs: Add IOP_XATTR inode operations flag") Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'block/blk-merge.c')
0 files changed, 0 insertions, 0 deletions