ext3: fix ext3_dx_readdir hash collision handling - Regression

From: Markus Trippelsdorf
Date: Wed Oct 22 2008 - 05:40:58 EST


Commit 6a897cf447a83c9c3fd1b85a1e525c02d6eada7d
"ext3: fix ext3_dx_readdir hash collision handling" causes a regression
when deleting big directories.

I'm using an ext3 filesystem in data=writeback mode as my root fs.
When I untar a kernel tarball and then rm -r the files, this is what
happens on my machine (latest git):

markus@gentoox2 ~ % tar xjf linux-2.6.27.2.tar.bz2
markus@gentoox2 ~ % rm -r linux-2.6.27.2
rm: cannot remove `linux-2.6.27.2/arch/alpha/include/asm/statfs.h': No such file or directory
rm: cannot remove `linux-2.6.27.2/arch/m68knommu/include/asm/cputime.h': No such file or directory
rm: cannot remove `linux-2.6.27.2/arch/sparc/include/asm/highmem.h': No such file or directory
rm: cannot remove `linux-2.6.27.2/arch/sparc/include/asm/sections_32.h': No such file or directory
rm: cannot remove `linux-2.6.27.2/arch/s390/include/asm/io.h': No such file or directory
rm: cannot remove `linux-2.6.27.2/arch/arm/configs/pcm038_defconfig': No such file or directory
rm: cannot remove `linux-2.6.27.2/arch/powerpc/include/asm/pgtable-ppc32.h': No such file or directory
rm: cannot remove `linux-2.6.27.2/include/asm-um/linkage.h': No such file or directory
rm: cannot remove `linux-2.6.27.2/include/asm-m68k/cachectl.h': No such file or directory
markus@gentoox2 ~ % rm -r linux-2.6.27.2
markus@gentoox2 ~ %

After reverting 6a897cf447a83c9c3fd1b85a1e525c02d6eada7d I get the
expected result:

markus@gentoox2 ~ % tar xjf linux-2.6.27.2.tar.bz2
markus@gentoox2 ~ % rm -r linux-2.6.27.2
markus@gentoox2 ~ %

--
Markus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/