--- linux-2.4.19.old/fs/ext3/ialloc.c 2002-10-15 14:18:59.000000000 +0200 +++ linux-2.4.19.new/fs/ext3/ialloc.c 2002-10-15 14:16:34.000000000 +0200 @@ -510,7 +510,9 @@ inode->i_generation = sb->u.ext3_sb.s_next_generation++; inode->u.ext3_i.i_state = EXT3_STATE_NEW; - + err = ext3_mark_inode_dirty(handle, inode); + if (err) goto fail; + unlock_super (sb); if(DQUOT_ALLOC_INODE(inode)) { DQUOT_DROP(inode); @@ -522,12 +524,6 @@ DQUOT_FREE_INODE(inode); goto fail2; } - err = ext3_mark_inode_dirty(handle, inode); - if (err) { - DQUOT_FREE_INODE(inode); - goto fail2; - } - ext3_debug ("allocating inode %lu\n", inode->i_ino); return inode; diff -Nur --exclude='*.orig' linux-2.4.19.old/fs/ext2/ialloc.c linux-2.4.19.new/fs/ext2/ialloc.c --- linux-2.4.19.old/fs/ext2/ialloc.c 2002-10-15 15:32:24.000000000 +0200 +++ linux-2.4.19.new/fs/ext2/ialloc.c 2002-10-15 15:32:16.000000000 +0200 @@ -410,7 +410,6 @@ DQUOT_FREE_INODE(inode); goto fail3; } - mark_inode_dirty(inode); ext2_debug ("allocating inode %lu\n", inode->i_ino); return inode;