Re: [PATCH 7/8] fs: use get_unaligned_* helpers

From: Stefan Richter
Date: Fri May 02 2008 - 07:42:19 EST


Harvey Harrison wrote:
> fs/partitions/ldm.h | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/partitions/ldm.h b/fs/partitions/ldm.h
...
> /* Most numbers we deal with are big-endian and won't be aligned. */
> -#define BE16(x) ((u16)be16_to_cpu(get_unaligned((__be16*)(x))))
> -#define BE32(x) ((u32)be32_to_cpu(get_unaligned((__be32*)(x))))
> -#define BE64(x) ((u64)be64_to_cpu(get_unaligned((__be64*)(x))))
> +#define BE16(x) get_unaligned_be16((x))
> +#define BE32(x) get_unaligned_be32((x))
> +#define BE64(x) get_unaligned_be64((x))

Why the double parentheses?

More importantly, I would say ldm.c should rather use
get_unaligned_be*() directly. No need to hide what these macros are
about by using a local alias.

After that, ldm.c should be inspected for whether really all of the
accesses are unaligned. If there are any which are guaranteed to be
aligned, they should of course be turned into be*_to_cpu(). But
separately from this conversion to get_unaligned_be*().
--
Stefan Richter
-=====-==--- -=-= ---=-
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/