Re: 2.4.0-test9: minixfs causing oopsen when out of inodes

From: Alexander Viro (viro@math.psu.edu)
Date: Sun Oct 08 2000 - 13:51:38 EST


On Sun, 8 Oct 2000, Daniel Phillips wrote:

> Linus Torvalds wrote:
> > This, btw, is why Linux returns error numbers as -Exxx instead of using
> > "-1" and "errno" - I dislike the latter enormously.
>
> It's not just a matter of disliking it, it's also not reentrant.

??? Yes it is, if pointer goes to an auto variable in caller. I also do
not like it, but reentrancy is _not_ the reason.

> It would be nice if we could return a struct consisting of the error and
> result. I'm not sure if this is allowed in C now or not. It didn't
> work when I tried it with gcc: it seems to consider a struct-valued
> function to be a void-valued. Odd.

Eww... _Please_, let's not mess with structures in arguments/return
values/assignments. For one thing, it's bloody inefficient on many
platforms. For another, I don't like the idea of kernel becoming a
crash-dummy for gcc folks.

Functions returning structures are in a very dark area of C - let somebody
else break their necks debugging the compilers.

Oh, well... At least ext2 patch got to the stage when it handles corrupted
directories gracefully. It's still ugly (yes, switched to per-page work -
didn't help much), but it should be testable now. Linus, what do you think
about backporting the "let's not oops on corrupted directories" stuff to
the 2.4.0? It's not that much and it's pretty straightforward.

If ext2 patch will survive the torture (more parallel builds + find
scripts + man-db + copying/moving the stuff around) I'll put it on
anon-ftp tonight - right now I'm going down...

Thanks for minixfs catch, BTW.

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



This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:10 EST