What you *should* do is something like:
/* code to fixup on 64 bit archs */
if (sizeof(ino_t) > sizeof(_u32)) {
if ((foo & 0xFFFFFFFF00000000)) {
printk(KERN_INFO
"NFSD: the upper 32 bits of ino_t are not clear, can't shove it into a _u32!\n");
}
}
Anyone who makes a flamewar of this will be shot on sight.
--Perry
>
> The casts from 64-bit ino_t fields will work OK as long as the
> filesystems in question don't go beyond using the low-order 32 bits.
> I've added a load-time warning if sizeof(ino_t) is > 4.
>
> I've tested it here and all is working OK, but would appreciate some
> testing on 64-bit systems.
>
> Regards,
> Bill
> + printk(KERN_DEBUG
> + "nfsd_init: initialized fhcache, entries=%lu\n", NFSD_MAXFH);
> + /*
> + * Display a warning if the ino_t is larger than 32 bits.
> + */
> + if (sizeof(ino_t) > sizeof(__u32))
> + printk(KERN_INFO
> + "NFSD: ino_t is %d bytes, using lower 4 bytes\n",
> + sizeof(ino_t));
-- Perry Harrington Linux rules all OSes. APSoft () email: perry@apsoft.com Think Blue. /\- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html