diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-04-28 00:51:30 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-05-11 05:18:20 +0300 |
commit | a7a67e8a089e25ef48ab01dd34ce82678ef70f11 (patch) | |
tree | 13ab26f2255e09f322da5af528c47fd8c547db90 /fs/ext4/inode.c | |
parent | 3188b2955de3d01949ec54eb2c9ff1ecaa0a752d (diff) | |
download | linux-a7a67e8a089e25ef48ab01dd34ce82678ef70f11.tar.xz |
ext4: split inode_operations for encrypted symlinks off the rest
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r-- | fs/ext4/inode.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 55b187c3bac1..9f3baa25ec54 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -4213,8 +4213,10 @@ struct inode *ext4_iget(struct super_block *sb, unsigned long ino) inode->i_op = &ext4_dir_inode_operations; inode->i_fop = &ext4_dir_operations; } else if (S_ISLNK(inode->i_mode)) { - if (ext4_inode_is_fast_symlink(inode) && - !ext4_encrypted_inode(inode)) { + if (ext4_encrypted_inode(inode)) { + inode->i_op = &ext4_encrypted_symlink_inode_operations; + ext4_set_aops(inode); + } else if (ext4_inode_is_fast_symlink(inode)) { inode->i_op = &ext4_fast_symlink_inode_operations; nd_terminate_link(ei->i_data, inode->i_size, sizeof(ei->i_data) - 1); |