ext4 crypto: fix bugs in ext4_encrypted_zeroout()
[firefly-linux-kernel-4.4.55.git] / fs / ext4 / extents.c
index 2553aa8b608d84d1673190ea634c5e84c86d9f0b..7f486e350d15d61822041cc34bdf45001f3c65c2 100644 (file)
@@ -3558,6 +3558,9 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
                max_zeroout = sbi->s_extent_max_zeroout_kb >>
                        (inode->i_sb->s_blocksize_bits - 10);
 
+       if (ext4_encrypted_inode(inode))
+               max_zeroout = 0;
+
        /* If extent is less than s_max_zeroout_kb, zeroout directly */
        if (max_zeroout && (ee_len <= max_zeroout)) {
                err = ext4_ext_zeroout(inode, ex);