Merge tag 'vfio-v4.2-rc1' of git://github.com/awilliam/linux-vfio
[cascardo/linux.git] / fs / f2fs / inode.c
index e622ec9..2550868 100644 (file)
@@ -198,7 +198,10 @@ make_now:
                inode->i_mapping->a_ops = &f2fs_dblock_aops;
                mapping_set_gfp_mask(inode->i_mapping, GFP_F2FS_HIGH_ZERO);
        } else if (S_ISLNK(inode->i_mode)) {
-               inode->i_op = &f2fs_symlink_inode_operations;
+               if (f2fs_encrypted_inode(inode))
+                       inode->i_op = &f2fs_encrypted_symlink_inode_operations;
+               else
+                       inode->i_op = &f2fs_symlink_inode_operations;
                inode->i_mapping->a_ops = &f2fs_dblock_aops;
        } else if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode) ||
                        S_ISFIFO(inode->i_mode) || S_ISSOCK(inode->i_mode)) {
@@ -359,6 +362,10 @@ no_delete:
        if (is_inode_flag_set(F2FS_I(inode), FI_UPDATE_WRITE))
                add_dirty_inode(sbi, inode->i_ino, UPDATE_INO);
 out_clear:
+#ifdef CONFIG_F2FS_FS_ENCRYPTION
+       if (F2FS_I(inode)->i_crypt_info)
+               f2fs_free_encryption_info(inode, F2FS_I(inode)->i_crypt_info);
+#endif
        clear_inode(inode);
 }