OSDN Git Service

Merge android-4.4-p.195 (4af3204) into msm-4.4
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / fs / ext4 / inode.c
index 6691d42..a8eeea6 100644 (file)
@@ -3772,6 +3772,15 @@ int ext4_punch_hole(struct inode *inode, loff_t offset, loff_t length)
 
        trace_ext4_punch_hole(inode, offset, length, 0);
 
+       ext4_clear_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA);
+       if (ext4_has_inline_data(inode)) {
+               down_write(&EXT4_I(inode)->i_mmap_sem);
+               ret = ext4_convert_inline_data(inode);
+               up_write(&EXT4_I(inode)->i_mmap_sem);
+               if (ret)
+                       return ret;
+       }
+
        /*
         * Write out all dirty pages to avoid race conditions
         * Then release them.