summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAl Viro <viro@www.linux.org.uk>2005-05-01 08:59:19 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-01 08:59:19 -0700
commitf8e08a8466c4ac5f61b4bdb6338fd97eedb9c9e8 (patch)
tree082b472e19d4b21f2ecb0eb486e961b16ffeaab0 /drivers
parent6b9f5829e6e3af44f20c681e26524c637d4f82ff (diff)
downloadlinux-3.10-f8e08a8466c4ac5f61b4bdb6338fd97eedb9c9e8.tar.gz
linux-3.10-f8e08a8466c4ac5f61b4bdb6338fd97eedb9c9e8.tar.bz2
linux-3.10-f8e08a8466c4ac5f61b4bdb6338fd97eedb9c9e8.zip
[PATCH] reiserfs endianness: sanitize reiserfs_key union
Since we only access reiserfs_key ->u.k_offset_v2 guts in four helper functions, we are free to sanitize those, as long as - layout of the structure is unchanged (it's on-disk object) - behaviour of these helpers is same as before. Patch kills the mess with endianness-dependent bitfields and replaces them with a single __le64. Helpers are switched to straightforward shift/and/or. Benefits: - exact same definitions for little- and big-endian architectures; no ifdefs in sight. - generate the same code on little-endian and improved on big-endian. - doesn't rely on lousy bitfields handling in gcc codegenerator. - happens to be standard C (unsigned long long is not a valid type for a bitfield; it's a gccism and not well-implemented one, at that). Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Cc: <reiserfs-dev@namesys.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions