Thanks, David. Unfortunately, it's not limited to ext3. Happens in ext4 as well. The commands:
mkdir -p /tmp/test/loop cd /tmp/test dd if=/dev/zero bs=1M count=1000 of=ext4.img mkfs.ext4 -F -b 1024 -i 2048 ext4.img mount -o loop ext4.img loop mkdir loop/tmp cd loop/tmp nice -n 20 seq 1 500000 | nice -n 20 xargs touch >& /dev/null ls -U | wc -l date grep warn /var/log/kern.log | tail -2 df -i . df -h . The output from the last five lines: + ls + wc -l 499310 + date Wed May 26 17:53:41 EDT 2010 + grep warn /var/log/kern.log + tail -2 May 26 17:53:41 mnx-lucid kernel: [1405455.069927] EXT4-fs warning (device loop0): ext4_dx_add_entry: Directory index full! May 26 17:53:41 mnx-lucid kernel: [1405455.086388] EXT4-fs warning (device loop0): ext4_dx_add_entry: Directory index full! + df -i . Filesystem Inodes IUsed IFree IUse% Mounted on /dev/loop0 512000 499322 12678 98% /tmp/test/loop + df -h . Filesystem Size Used Avail Use% Mounted on /dev/loop0 875M 30M 796M 4% /tmp/test/loop Yes, a solution is to have larger block sizes. However, the file system that is exhibiting this issue already has 4096 byte blocks. And Linux can't mount a filesystem via the loopback with a blocksize larger than 4096. # mkfs.ext3 -F -b 8192 -N 1000000 fs.img # tune2fs -l fs.img | grep -i 'block size' Block size: 8192 # mount -o loop fs.img loop mount: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so # dmesg | tail -1 [1408478.274638] EXT3-fs: bad blocksize 8192. The quick solution seems to be to create one or more subdirectories and move some of the files into them. Regards, - Robert On Wed, May 26, 2010 at 4:59 PM, David Dooling <ba...@users.sourceforge.net> wrote: > On Wed, May 26, 2010 at 03:42:01PM -0500, Mike B. wrote: >> gotcha. I wonder if the file system itself is corrupt? > > Looks like it is just a limit of ext3. > > http://kerneltrap.org/mailarchive/linux-kernel/2008/5/18/1861684 > > Looks like the workaround is to use a bigger block size. -- Central West End Linux Users Group (via Google Groups) Main page: http://www.cwelug.org To post: cwelug@googlegroups.com To subscribe: cwelug-subscr...@googlegroups.com To unsubscribe: cwelug-unsubscr...@googlegroups.com More options: http://groups.google.com/group/cwelug