jfs_symlink() gives slow symlinks jfs_symlink_inode_operations but jfs_iget() gives them page_symlink_inode_operations. So once the inode has been evicted a chown doesn't go through jfs_setattr() anymore and skips dquot_transfer(), and listxattr(2) doesn't see the symlink's xattrs. Use jfs_symlink_inode_operations in jfs_iget() as well like it already does for fast symlinks. Fixes: c7f2e1f0ac14 ("jfs: add jfs specific ->setattr call") Signed-off-by: Christian Brauner (Amutable) --- fs/jfs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c index 6390d915c7f11..24b51461aacc9 100644 --- a/fs/jfs/inode.c +++ b/fs/jfs/inode.c @@ -47,7 +47,7 @@ struct inode *jfs_iget(struct super_block *sb, unsigned long ino) inode->i_fop = &jfs_dir_operations; } else if (S_ISLNK(inode->i_mode)) { if (inode->i_size >= IDATASIZE) { - inode->i_op = &page_symlink_inode_operations; + inode->i_op = &jfs_symlink_inode_operations; inode_nohighmem(inode); inode->i_mapping->a_ops = &jfs_aops; } else { -- 2.53.0