]> err.no Git - linux-2.6/commit
[PATCH] reiserfs endianness: comp_short_keys() cleanup
authorAl Viro <viro@www.linux.org.uk>
Sun, 1 May 2005 15:59:19 +0000 (08:59 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 1 May 2005 15:59:19 +0000 (08:59 -0700)
commit6b9f5829e6e3af44f20c681e26524c637d4f82ff
tree2694220606477b9afc5a98d73f6980e334048c1f
parentb8cc936f6295bba23513a49d858ea82f64982faf
[PATCH] reiserfs endianness: comp_short_keys() cleanup

comp_short_keys() massaged into sane form, which kills the last place where
pointer to in_core_key (or any object containing such) would be cast to or
from something else.  At that point we are free to change layout of
in_core_key - nothing depends on it anymore.

So we drop the mess with union in there and simply use (unconditional) __u64
k_offset and __u8 k_type instead; places using in_core_key switched to those.
That gives _far_ better code than current mess - on all platforms.

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>
fs/reiserfs/inode.c
fs/reiserfs/stree.c
fs/reiserfs/super.c
include/linux/reiserfs_fs.h