[OpenAFS-devel] fstrace/icl on 64-bit platforms
chas williams - CONTRACTOR
chas@cmf.nrl.navy.mil
Mon, 19 Dec 2005 23:14:32 -0500
it looks like tracing only works "correctly" on sgi and aix51 meaning
that longs and pointers get passed down as 64-bit entitites, instead
of getting truncated. AFS_64BIT_KERNEL seems to used to change icl's
behavior but very few 64-bit platforms actually define this. of course,
fstrace needs a way to tell what kind of long is in the log and deciding
if your kernel is 32-bit or 64-bit isnt always easy.
what to do? add a new ioctl to ask the afs module if its running in
32-bit or 64-bit, so fstrace can tell how big ICL_TYPE_LONG will be
(and hopefully both fstrace and kernel module agree on how big long
is)? there is a 64-bit datatype already, ICL_TYPE_INT64 so perhaps
ICL_TYPE_LONG/ICL_TYPE_POINTER should be promoted to ICL_TYPE_INT64 when
AFS_64BIT_KERNEL is set? ICL_TYPE_LONG just seems like a bad idea if
long varies in size.