Re: netfilter is not a filesystem

From: David Miller
Date: Thu Feb 10 2011 - 17:21:38 EST


From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 10 Feb 2011 14:11:19 -0800

> On Thu, 10 Feb 2011 21:55:26 GMT
> bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote:
>
>> https://bugzilla.kernel.org/show_bug.cgi?id=28862
>>
>> Summary: /proc/net/ip_conntrack: no space left on device
>> systematically
>
> This is why I'm forever nagging people to not just grab some errno
> because its name happens to sound similar to the error you just detected.
>
> Yes, it superficially seems nice and logical for netfilter to use
> ENOSPC when it runs out of space. But when that error code propagates
> up to the user, they see "no space left on device" and will then run
> "df" and wonder what the hell happened to their computer.
>
> The kernel makes this mistake a *lot*. EFBIG in the rtc drivers? Really?

We are in this conundrum because the granularity of errors which can
be indicated by errno signalling is very low.

And one way people handle this is to use all sorts of different types
of errno values to indicate the different cases.

Also, one can argue that it is erroneous for userspace to assume that
error codes are not context dependent. They most certainly are.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/