Hello All,
I'm trying to find out the number of files that reiserfs can
support in a single folder. I know that you web site says about 1.2
million files without collision, but I have written a small program to
create files in order and so far I have been able to create about 10
million files in one directory. Can you explain collision more? Here
is the program I used below to test my theory. I echo out hello 10
times to each file to give some size. My linux distro is GENTOO 2006.0
version and I'm running kernel 2.16.15
#!/bin/bash
LIMIT=10000000 # Upper limit of 10 million files
echo
echo "creating $LIMIT files for test"
a=0
while [ $a -le "$LIMIT" ]
do
echo $a
a=$(($a+1))
touch /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
done
LIMIT=10000000 # Upper limit of 10 million files
echo
echo "creating $LIMIT files for test"
a=0
while [ $a -le "$LIMIT" ]
do
echo $a
a=$(($a+1))
touch /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
echo "HELLO" >> /home/thesheff17/installServer/file/file$a.txt
done
Below is the find command that tells me how many files are in the directory.
/file/ \! -type d | wc -l
10000001
production / #
10000001
production / #
