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. _______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
