Date: Fri, 3 May 2002 10:45:10 -0700 (PDT) From: Scott Hess <scott@avantgo.com> To: fs@freebsd.org Subject: Re: Filesystem Message-ID: <Pine.LNX.4.44.0205031027540.4240-100000@river.avantgo.com> In-Reply-To: <Pine.LNX.4.44.0205030959270.3919-100000@river.avantgo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hmm. And I just noticed an interesting effect from softupdates (I think).
If I follow my perl script with 'ls | xargs rmdir', and then immediately
run the perl script again, I get the 'Too many links' error with fewer
directories created. So:
scott@ganja2:test> perl -e 'for (my $ii = 0; 1; $ii++) { mkdir(sprintf("%06u", $ii), 0755) || die "$!";}' ; ls | wc
Too many links at -e line 1.
32765 32765 229355
scott@ganja2:test> ls | xargs rmdir ; perl -e 'for (my $ii = 0; 1; $ii++) { mkdir(sprintf("%06u", $ii), 0755) || die "$!";}' ; ls | wc
Too many links at -e line 1.
3212 3212 22484
The number of directories created by the second pass varies from run to
run. Sometimes it's even all 32765 directories...
Later,
scott
On Fri, 3 May 2002, Scott Hess wrote:
> Looks to me like Vladimir's supposition is correct for FFS:
>
> scott@ganja2:test> uname -a
> FreeBSD ganja2.avantgo.com 4.5-RELEASE-p4 FreeBSD 4.5-RELEASE-p4 #0: Tue Apr 23 16:28:25 PDT 2002
> root@agdev2.avantgo.com:/avantgo/obj/avantgo/src/sys/GANJA i386
> scott@ganja2:test> perl -e 'for (my $ii = 0; 1; $ii++) { mkdir(sprintf("%06u", $ii), 0755) || die "$!";}'
> Too many links at -e line 1.
> scott@ganja2:test> ls | wc
> 32765 32765 229355
> scott@ganja2:test> ls -ld .
> drwxr-xr-x 32767 scott wheel 530944 May 3 10:23 .
>
> [32767 is 32765 links from .. of subdirs, 1 for . of test, one for test in
> parent directory.]
>
> Later,
> scott
>
> On Fri, 3 May 2002, Terry Lambert wrote:
> > "Vladimir B. Grebenschikov" wrote:
> > >
> > > χ Thu, 02.05.2002, Χ 19:25, Zhihui Zhang ΞΑΠΙΣΑΜ:
> > > > You can create as many entries as you want in a directory.
> > >
> > > It is true only for files.
> > >
> > > But original question was about subdirectories.
> > >
> > > Actually there are limit on number of hardlinks for file(or dirs) and
> > > this limit about 32k
> > >
> > > Each subdirectory hardlinks it's '..' to parent directory so, you can't
> > > create more then 32k subdirectories (it is true for 3.x)
> > > but I don't know how with this problem on -STABLE and -CURRENT ?
> > >
> > > Anybody knows ?
> >
> > The limit you are complaining about are FAT/VFAT specific.
> >
> > All FS's have their own limits.
> >
> > In FFS, a directory is a file. Therefore you are limited by
> > the number of files. THe number of files is limited by disk
> > space and reserved space for inodes.
> >
> > -- Terry
> >
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-fs" in the body of the message
> >
>
>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.44.0205031027540.4240-100000>
