inode->i_size = 0;
err = ext4_mark_inode_dirty(handle, inode);
if (err) {
+@@ -266,10 +296,10 @@ void ext4_delete_inode(struct inode *ino
+ * enough credits left in the handle to remove the inode from
+ * the orphan list and set the dtime field.
+ */
+- if (!ext4_handle_has_enough_credits(handle, 3)) {
+- err = ext4_journal_extend(handle, 3);
++ if (!ext4_handle_has_enough_credits(handle, extra_credits)) {
++ err = ext4_journal_extend(handle, extra_credits);
+ if (err > 0)
+- err = ext4_journal_restart(handle, 3);
++ err = ext4_journal_restart(handle, extra_credits);
+ if (err != 0) {
+ ext4_warning(inode->i_sb,
+ "couldn't extend journal (err %d)", err);
@@ -303,8 +333,12 @@ void ext4_delete_inode(struct inode *ino
clear_inode(inode);
else