Commit 028c0cc1 authored by Paolo 'Blaisorblade' Giarrusso's avatar Paolo 'Blaisorblade' Giarrusso Committed by Linus Torvalds

[PATCH] uml: cleanup byte order macros for COW driver

After restoring the existing code, make it work also when included in
kernelspace code (which isn't currently the case, but at least this will prevent
people from "fixing" it as just happened).
Whitespace is fixed in next patch - it cluttered the diff too much.
Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 855ec613
...@@ -3,6 +3,26 @@ ...@@ -3,6 +3,26 @@
#include <asm/types.h> #include <asm/types.h>
#if defined(__KERNEL__)
# include <asm/byteorder.h>
# if defined(__BIG_ENDIAN)
# define ntohll(x) (x)
# define htonll(x) (x)
# elif defined(__LITTLE_ENDIAN)
# define ntohll(x) be64_to_cpu(x)
# define htonll(x) cpu_to_be64(x)
# else
# error "Could not determine byte order"
# endif
#else
/* For the definition of ntohl, htonl and __BYTE_ORDER */
#include <endian.h>
#include <netinet/in.h>
#if defined(__BYTE_ORDER)
#if __BYTE_ORDER == __BIG_ENDIAN #if __BYTE_ORDER == __BIG_ENDIAN
# define ntohll(x) (x) # define ntohll(x) (x)
# define htonll(x) (x) # define htonll(x) (x)
...@@ -10,8 +30,13 @@ ...@@ -10,8 +30,13 @@
# define ntohll(x) bswap_64(x) # define ntohll(x) bswap_64(x)
# define htonll(x) bswap_64(x) # define htonll(x) bswap_64(x)
#else #else
#error "__BYTE_ORDER not defined" # error "Could not determine byte order: __BYTE_ORDER uncorrectly defined"
#endif
#else /* ! defined(__BYTE_ORDER) */
# error "Could not determine byte order: __BYTE_ORDER not defined"
#endif #endif
#endif /* ! defined(__KERNEL__) */
extern int init_cow_file(int fd, char *cow_file, char *backing_file, extern int init_cow_file(int fd, char *cow_file, char *backing_file,
int sectorsize, int alignment, int *bitmap_offset_out, int sectorsize, int alignment, int *bitmap_offset_out,
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include <sys/time.h> #include <sys/time.h>
#include <sys/param.h> #include <sys/param.h>
#include <sys/user.h> #include <sys/user.h>
#include <netinet/in.h>
#include "os.h" #include "os.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment