Re: [PATCH][RFC] fix BSD accounting (w/ long-term perspective ;-)

From: Arthur Corliss
Date: Mon Mar 08 2004 - 19:24:53 EST


On Tue, 9 Mar 2004, Tim Schmielau wrote:

> Comments?

The glue for the GNU accounting tools are already on the way, should this be
the patch accepted for 2.6. If you would, please provide a similar patch
against 2.4 (or I'll do it, which ever is more convenient). Great job on your
patch, BTW, I should have snarfed those padding bytes myself, but I wasn't
giving as much thought as you did to backwards compatibility.

> Any other suggestions for incompatible changes to struct acct in 2.7?

Taking a note from the BSD camp, instead of fixing the field size in acct.h
why not cast ac_uid/ac_gid as uid_t/gid_t and let the kernel determine the
size to log in 2.7 onwards? Yes, this will break binary compatibility for
those upgrading older systems with a new stable series kernel. However, this
would obviate the need in the future to provide a migration path. Outside of
a recompile it would be transparent to the userland tools.

For fields working within a well-defined range I don't think we should be
second-guessing the kernel, and just use what the kernel dictates. Not doing
so means we are acknowledging that we don't care about logging incorrect data.

Being the whiny little bitch that I am I'm going to repeat my mantra: we
should not be in the business of logging bad data, regardless of how rare we
think we might actually do it.

Besides which, with your great idea of putting a version field in the struct
we can now put some intelligence into the GNU utils to read the different
versions of the records in the same file.

--Arthur Corliss
Bolverk's Lair -- http://arthur.corlissfamily.org/
Digital Mages -- http://www.digitalmages.com/
"Live Free or Die, the Only Way to Live" -- NH State Motto
-
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/