I am saying that you can put so many internal checks into a filesytem that it is
unusable for any real usage. Guess what? ReiserFS does that! But we surround
the checks with a #define. The only limit we have on the checks, is that after
the relevant bug disappears we cut out the ones that make things so slow that it
noticeably inconveniences our debugging. It has to slow things down quite a lot
that we can't stand to wait for it while debugging, but there are some kinds of
checks that you can do that are that slow.
ReiserFS checks more things than the rest of the kernel does. We can do this
because we use the #define, and pay no price for it. You should do this also in
your code....
Every major kernel component should have a #define which if on checks every
imaginable thing the developer can think of to check regardless of how slow it
makes the code go to check it. Then, when users (or at least as usefully,
developers adding a new feature) have bugs in that component, they can turn it
on.
Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/