aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/xfs/xfs_arch.h22
-rw-r--r--fs/xfs/xfs_bmap_btree.c8
-rw-r--r--fs/xfs/xfs_bmap_btree.h12
-rw-r--r--fs/xfs/xfs_dir_leaf.h6
-rw-r--r--fs/xfs/xfs_inode_item.c4
-rw-r--r--fs/xfs/xfs_log_priv.h10
6 files changed, 32 insertions, 30 deletions
diff --git a/fs/xfs/xfs_arch.h b/fs/xfs/xfs_arch.h
index ae35189b3d70..5ab0dd885b1b 100644
--- a/fs/xfs/xfs_arch.h
+++ b/fs/xfs/xfs_arch.h
@@ -40,22 +40,28 @@
40 40
41#include <asm/byteorder.h> 41#include <asm/byteorder.h>
42 42
43#ifdef __LITTLE_ENDIAN
44# define __BYTE_ORDER __LITTLE_ENDIAN
45#endif
46#ifdef __BIG_ENDIAN 43#ifdef __BIG_ENDIAN
47# define __BYTE_ORDER __BIG_ENDIAN 44#define XFS_NATIVE_HOST 1
45#else
46#undef XFS_NATIVE_HOST
47#endif
48
49#else /* __KERNEL__ */
50
51#if __BYTE_ORDER == __BIG_ENDIAN
52#define XFS_NATIVE_HOST 1
53#else
54#undef XFS_NATIVE_HOST
48#endif 55#endif
49 56
50#endif /* __KERNEL__ */ 57#endif /* __KERNEL__ */
51 58
52/* do we need conversion? */ 59/* do we need conversion? */
53
54#define ARCH_NOCONVERT 1 60#define ARCH_NOCONVERT 1
55#if __BYTE_ORDER == __LITTLE_ENDIAN 61#ifdef XFS_NATIVE_HOST
56# define ARCH_CONVERT 0
57#else
58# define ARCH_CONVERT ARCH_NOCONVERT 62# define ARCH_CONVERT ARCH_NOCONVERT
63#else
64# define ARCH_CONVERT 0
59#endif 65#endif
60 66
61/* generic swapping macros */ 67/* generic swapping macros */
diff --git a/fs/xfs/xfs_bmap_btree.c b/fs/xfs/xfs_bmap_btree.c
index 09c413576ba8..09a77b17565b 100644
--- a/fs/xfs/xfs_bmap_btree.c
+++ b/fs/xfs/xfs_bmap_btree.c
@@ -2017,7 +2017,7 @@ xfs_bmbt_get_state(
2017 ext_flag); 2017 ext_flag);
2018} 2018}
2019 2019
2020#if __BYTE_ORDER != __BIG_ENDIAN 2020#ifndef XFS_NATIVE_HOST
2021/* Endian flipping versions of the bmbt extraction functions */ 2021/* Endian flipping versions of the bmbt extraction functions */
2022void 2022void
2023xfs_bmbt_disk_get_all( 2023xfs_bmbt_disk_get_all(
@@ -2087,7 +2087,7 @@ xfs_bmbt_disk_get_state(
2087 return xfs_extent_state(xfs_bmbt_disk_get_blockcount(r), 2087 return xfs_extent_state(xfs_bmbt_disk_get_blockcount(r),
2088 ext_flag); 2088 ext_flag);
2089} 2089}
2090#endif 2090#endif /* XFS_NATIVE_HOST */
2091 2091
2092 2092
2093/* 2093/*
@@ -2531,7 +2531,7 @@ xfs_bmbt_set_allf(
2531#endif /* XFS_BIG_BLKNOS */ 2531#endif /* XFS_BIG_BLKNOS */
2532} 2532}
2533 2533
2534#if __BYTE_ORDER != __BIG_ENDIAN 2534#ifndef XFS_NATIVE_HOST
2535/* 2535/*
2536 * Set all the fields in a bmap extent record from the uncompressed form. 2536 * Set all the fields in a bmap extent record from the uncompressed form.
2537 */ 2537 */
@@ -2617,7 +2617,7 @@ xfs_bmbt_disk_set_allf(
2617 } 2617 }
2618#endif /* XFS_BIG_BLKNOS */ 2618#endif /* XFS_BIG_BLKNOS */
2619} 2619}
2620#endif 2620#endif /* XFS_NATIVE_HOST */
2621 2621
2622/* 2622/*
2623 * Set the blockcount field in a bmap extent record. 2623 * Set the blockcount field in a bmap extent record.
diff --git a/fs/xfs/xfs_bmap_btree.h b/fs/xfs/xfs_bmap_btree.h
index 0a40cf126c28..2cf4fe45cbcb 100644
--- a/fs/xfs/xfs_bmap_btree.h
+++ b/fs/xfs/xfs_bmap_btree.h
@@ -62,7 +62,7 @@ typedef struct xfs_bmdr_block
62 * l1:0-20 are blockcount. 62 * l1:0-20 are blockcount.
63 */ 63 */
64 64
65#if __BYTE_ORDER == __LITTLE_ENDIAN 65#ifndef XFS_NATIVE_HOST
66 66
67#define BMBT_TOTAL_BITLEN 128 /* 128 bits, 16 bytes */ 67#define BMBT_TOTAL_BITLEN 128 /* 128 bits, 16 bytes */
68#define BMBT_EXNTFLAG_BITOFF 0 68#define BMBT_EXNTFLAG_BITOFF 0
@@ -87,7 +87,7 @@ typedef struct xfs_bmdr_block
87#define BMBT_BLOCKCOUNT_BITOFF 64 /* Start of second 64 bit container */ 87#define BMBT_BLOCKCOUNT_BITOFF 64 /* Start of second 64 bit container */
88#define BMBT_BLOCKCOUNT_BITLEN 21 88#define BMBT_BLOCKCOUNT_BITLEN 21
89 89
90#endif 90#endif /* XFS_NATIVE_HOST */
91 91
92 92
93#define BMBT_USE_64 1 93#define BMBT_USE_64 1
@@ -505,7 +505,7 @@ xfs_exntst_t
505xfs_bmbt_get_state( 505xfs_bmbt_get_state(
506 xfs_bmbt_rec_t *r); 506 xfs_bmbt_rec_t *r);
507 507
508#if __BYTE_ORDER != __BIG_ENDIAN 508#ifndef XFS_NATIVE_HOST
509void 509void
510xfs_bmbt_disk_get_all( 510xfs_bmbt_disk_get_all(
511 xfs_bmbt_rec_t *r, 511 xfs_bmbt_rec_t *r,
@@ -538,7 +538,7 @@ xfs_bmbt_disk_get_startoff(
538 xfs_bmbt_get_blockcount(r) 538 xfs_bmbt_get_blockcount(r)
539#define xfs_bmbt_disk_get_startoff(r) \ 539#define xfs_bmbt_disk_get_startoff(r) \
540 xfs_bmbt_get_startoff(r) 540 xfs_bmbt_get_startoff(r)
541#endif 541#endif /* XFS_NATIVE_HOST */
542 542
543int 543int
544xfs_bmbt_increment( 544xfs_bmbt_increment(
@@ -623,7 +623,7 @@ xfs_bmbt_set_state(
623 xfs_bmbt_rec_t *r, 623 xfs_bmbt_rec_t *r,
624 xfs_exntst_t v); 624 xfs_exntst_t v);
625 625
626#if __BYTE_ORDER != __BIG_ENDIAN 626#ifndef XFS_NATIVE_HOST
627void 627void
628xfs_bmbt_disk_set_all( 628xfs_bmbt_disk_set_all(
629 xfs_bmbt_rec_t *r, 629 xfs_bmbt_rec_t *r,
@@ -641,7 +641,7 @@ xfs_bmbt_disk_set_allf(
641 xfs_bmbt_set_all(r, s) 641 xfs_bmbt_set_all(r, s)
642#define xfs_bmbt_disk_set_allf(r, o, b, c, v) \ 642#define xfs_bmbt_disk_set_allf(r, o, b, c, v) \
643 xfs_bmbt_set_allf(r, o, b, c, v) 643 xfs_bmbt_set_allf(r, o, b, c, v)
644#endif 644#endif /* XFS_NATIVE_HOST */
645 645
646void 646void
647xfs_bmbt_to_bmdr( 647xfs_bmbt_to_bmdr(
diff --git a/fs/xfs/xfs_dir_leaf.h b/fs/xfs/xfs_dir_leaf.h
index dd423ce1bc8d..480bffc1f29f 100644
--- a/fs/xfs/xfs_dir_leaf.h
+++ b/fs/xfs/xfs_dir_leaf.h
@@ -127,13 +127,13 @@ typedef union {
127 * Watch the order here (endian-ness dependent). 127 * Watch the order here (endian-ness dependent).
128 */ 128 */
129 struct { 129 struct {
130#if __BYTE_ORDER == __LITTLE_ENDIAN 130#ifndef XFS_NATIVE_HOST
131 xfs_dahash_t h; /* hash value */ 131 xfs_dahash_t h; /* hash value */
132 __uint32_t be; /* block and entry */ 132 __uint32_t be; /* block and entry */
133#else /* __BYTE_ORDER == __BIG_ENDIAN */ 133#else
134 __uint32_t be; /* block and entry */ 134 __uint32_t be; /* block and entry */
135 xfs_dahash_t h; /* hash value */ 135 xfs_dahash_t h; /* hash value */
136#endif /* __BYTE_ORDER == __BIG_ENDIAN */ 136#endif /* XFS_NATIVE_HOST */
137 } s; 137 } s;
138} xfs_dircook_t; 138} xfs_dircook_t;
139 139
diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c
index 276ec70eb7f9..50e2cadf9091 100644
--- a/fs/xfs/xfs_inode_item.c
+++ b/fs/xfs/xfs_inode_item.c
@@ -341,7 +341,7 @@ xfs_inode_item_format(
341 nrecs = ip->i_df.if_bytes / 341 nrecs = ip->i_df.if_bytes /
342 (uint)sizeof(xfs_bmbt_rec_t); 342 (uint)sizeof(xfs_bmbt_rec_t);
343 ASSERT(nrecs > 0); 343 ASSERT(nrecs > 0);
344#if __BYTE_ORDER == __BIG_ENDIAN 344#ifdef XFS_NATIVE_HOST
345 if (nrecs == ip->i_d.di_nextents) { 345 if (nrecs == ip->i_d.di_nextents) {
346 /* 346 /*
347 * There are no delayed allocation 347 * There are no delayed allocation
@@ -473,7 +473,7 @@ xfs_inode_item_format(
473#endif 473#endif
474 ASSERT(nrecs > 0); 474 ASSERT(nrecs > 0);
475 ASSERT(nrecs == ip->i_d.di_anextents); 475 ASSERT(nrecs == ip->i_d.di_anextents);
476#if __BYTE_ORDER == __BIG_ENDIAN 476#ifdef XFS_NATIVE_HOST
477 /* 477 /*
478 * There are not delayed allocation extents 478 * There are not delayed allocation extents
479 * for attributes, so just point at the array. 479 * for attributes, so just point at the array.
diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h
index eb7fdc6ebc32..a884cea82fca 100644
--- a/fs/xfs/xfs_log_priv.h
+++ b/fs/xfs/xfs_log_priv.h
@@ -112,7 +112,7 @@ struct xfs_mount;
112 * this has endian issues, of course. 112 * this has endian issues, of course.
113 */ 113 */
114 114
115#if __BYTE_ORDER == __LITTLE_ENDIAN 115#ifndef XFS_NATIVE_HOST
116#define GET_CLIENT_ID(i,arch) \ 116#define GET_CLIENT_ID(i,arch) \
117 ((i) & 0xff) 117 ((i) & 0xff)
118#else 118#else
@@ -414,14 +414,10 @@ typedef struct xlog_op_header {
414#define XLOG_FMT_IRIX_BE 3 414#define XLOG_FMT_IRIX_BE 3
415 415
416/* our fmt */ 416/* our fmt */
417#if __BYTE_ORDER == __LITTLE_ENDIAN 417#ifdef XFS_NATIVE_HOST
418#define XLOG_FMT XLOG_FMT_LINUX_LE
419#else
420#if __BYTE_ORDER == __BIG_ENDIAN
421#define XLOG_FMT XLOG_FMT_LINUX_BE 418#define XLOG_FMT XLOG_FMT_LINUX_BE
422#else 419#else
423#error unknown byte order 420#define XLOG_FMT XLOG_FMT_LINUX_LE
424#endif
425#endif 421#endif
426 422
427typedef struct xlog_rec_header { 423typedef struct xlog_rec_header {