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: [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/