diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 750b3f1eba319e9c1e0d7e16c526fc51996d0398..a5f0fef53a819f9768fb1b54e7aa53eb08348013 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -5810,6 +5810,11 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
 	file_update_time(vma->vm_file);
 
 	down_read(&EXT4_I(inode)->i_mmap_sem);
+
+	ret = ext4_convert_inline_data(inode);
+	if (ret)
+		goto out_ret;
+
 	/* Delalloc case is easy... */
 	if (test_opt(inode->i_sb, DELALLOC) &&
 	    !ext4_should_journal_data(inode) &&