Hello,
since test11, the NFS code uses the set_bit and related routines
to manipulate the wb_flags member of the nfs_page struct (nfs_page.h).
Unfortunately, wb_flags has still data type 'int'.
This is a problem (at least) on the 64-bit S/390 architecture,
as our ..._bit macros assume bit 0 is the least significant bit
of a 'long', which means due to big-endian byte order that bit 0
resides in the 7th byte of the variable. As an int occupies only
4 bytes, however, set_bit(0, int) clobbers memory.
Now the question is, who's correct?
At all other places (I found, at least), the ..._bit macros
are indeed used only on 'long' variables (or arrays).
However, on the Alpha, the ..._bit routines assume bit 0 to
be the least significant bit of an 'int'. Sparc64 on the other
hand also uses 'long' :-/
What do you suggest we should do? Fix nfs_page to use a 'long'
variable, or change our bitops macros to use ints?
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
-- Dr. Ulrich Weigand Linux for S/390 Design & Development IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Dec 15 2000 - 21:00:22 EST