On Tue, 12 Jul 2011, Garrett Wollman wrote:

<<On Tue, 12 Jul 2011 18:31:40 -0400 (EDT), Benjamin Kaduk <[email protected]> said:

A few of the errors are more structural in nature, e.g. the "unique
identifier" for the vop_advlock routines that always has a 32-bit field
but sometimes tries to squash a 64-bit value into it.

I looked at that as well.  That VOP_ADVLOCK argument was apparently a
pid_t on some system, but now it is multiple different kinds of
pointer -- it can be a pointer to at least a struct proc or a struct
file, depending on the kind of lock it is.  (POSIX specifies stupid
semantics for what happens to locks when a file is closed, which I
think accounts for some of the weirdness.)

I was going to see about making it an intptr_t, but it looked like a
bit of a slog so I put off thinking about it any further.

intptr_t lets it compile with -Werror, but is still papering over the root issue (which is an ABI-level thing).

-Ben
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to