percpu_down_write(&sbi->s_writepages_rwsem);
 
        /*
-        * Worst case we can touch the allocation bitmaps, a bgd
-        * block, and a block to link in the orphan list.  We do need
-        * need to worry about credits for modifying the quota inode.
+        * Worst case we can touch the allocation bitmaps and a block
+        * group descriptor block.  We do need need to worry about
+        * credits for modifying the quota inode.
         */
        handle = ext4_journal_start(inode, EXT4_HT_MIGRATE,
-               4 + EXT4_MAXQUOTAS_TRANS_BLOCKS(inode->i_sb));
+               3 + EXT4_MAXQUOTAS_TRANS_BLOCKS(inode->i_sb));
 
        if (IS_ERR(handle)) {
                retval = PTR_ERR(handle);
         * Use the correct seed for checksum (i.e. the seed from 'inode').  This
         * is so that the metadata blocks will have the correct checksum after
         * the migration.
-        *
-        * Note however that, if a crash occurs during the migration process,
-        * the recovery process is broken because the tmp_inode checksums will
-        * be wrong and the orphans cleanup will fail.
         */
        ei = EXT4_I(inode);
        EXT4_I(tmp_inode)->i_csum_seed = ei->i_csum_seed;
        clear_nlink(tmp_inode);
 
        ext4_ext_tree_init(handle, tmp_inode);
-       ext4_orphan_add(handle, tmp_inode);
        ext4_journal_stop(handle);
 
        /*
 
        handle = ext4_journal_start(inode, EXT4_HT_MIGRATE, 1);
        if (IS_ERR(handle)) {
-               /*
-                * It is impossible to update on-disk structures without
-                * a handle, so just rollback in-core changes and live other
-                * work to orphan_list_cleanup()
-                */
-               ext4_orphan_del(NULL, tmp_inode);
                retval = PTR_ERR(handle);
                goto out_tmp_inode;
        }