Re: MAXSYMLINKS incredibly low

Alexander Viro (viro@math.psu.edu)
Mon, 3 Jan 2000 18:06:40 -0500 (EST)


On Mon, 3 Jan 2000, Martin Buchholz wrote:

> >>>>> "AJ" == Andreas Jaeger <aj@suse.de> writes:
>
> AJ> Hi Martin,
> >>>>> Martin Buchholz writes:
>
> >> I was shocked and dismayed when I discovered that the default value of
> >> MAXSYMLINKS on my Linux system was 5, and that this is the default for
> >> glibc.
>
> AJ> Please report this to the kernel folks. glibc just has the value that
> AJ> the kernel uses. There's nothing we can do in glibc in this case.

And you should not. In 2.3 it's 32 _on_ _the_ _depth_ _of_ _nested_
_symlinks_. Case closed.

> There doesn't seem to be any way for the user to configure the `5', or
> to ask the kernel what its value is. I am shocked that there's not
> even a #define for this 5.

Ah, I see. We should allow user to configure the page size on x86. Would
you care to explain how to do that? Unfortunately
#define PAGE_SIZE 696969 /* hardware limits? wassat? */
will not exactly do the thing you want. What part of "stack is finite" is
hard to understand? It's not EMACS, ferchrissake. Limit is imposed by
recursion. Changing it without the corresponding change of recursion
footprint is not going to do you any good, all unholy GNU creed ("thou
shalt not have limits, common sense included") nonwithstanding.

How about RTFS before getting shocked? It would spare you the shock, BTW -
symlink patch drove the footprint down to ~100 bytes/recursion level and
that allowed to raise the limit. If you need more than 32 _nested_ (and
that's the only thing that ever was limited) symlinks - too bad.

ObYourProposal: feel free to submit patches. Keep in mind that code
quality requirements tend to be slightly stricter than in EMACS - eight
megabytes and constantly swapping is Bad Thing(tm). If you need bloat you
know where to find it.

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