diff options
Diffstat (limited to 'fs/xfs/xfs_bmap_btree.c')
-rw-r--r-- | fs/xfs/xfs_bmap_btree.c | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/fs/xfs/xfs_bmap_btree.c b/fs/xfs/xfs_bmap_btree.c index abe35553969b..41092a2ea917 100644 --- a/fs/xfs/xfs_bmap_btree.c +++ b/fs/xfs/xfs_bmap_btree.c | |||
@@ -1914,19 +1914,13 @@ xfs_bmbt_get_state( | |||
1914 | ext_flag); | 1914 | ext_flag); |
1915 | } | 1915 | } |
1916 | 1916 | ||
1917 | #ifndef XFS_NATIVE_HOST | ||
1918 | /* Endian flipping versions of the bmbt extraction functions */ | 1917 | /* Endian flipping versions of the bmbt extraction functions */ |
1919 | void | 1918 | void |
1920 | xfs_bmbt_disk_get_all( | 1919 | xfs_bmbt_disk_get_all( |
1921 | xfs_bmbt_rec_t *r, | 1920 | xfs_bmbt_rec_t *r, |
1922 | xfs_bmbt_irec_t *s) | 1921 | xfs_bmbt_irec_t *s) |
1923 | { | 1922 | { |
1924 | __uint64_t l0, l1; | 1923 | __xfs_bmbt_get_all(be64_to_cpu(r->l0), be64_to_cpu(r->l1), s); |
1925 | |||
1926 | l0 = INT_GET(r->l0, ARCH_CONVERT); | ||
1927 | l1 = INT_GET(r->l1, ARCH_CONVERT); | ||
1928 | |||
1929 | __xfs_bmbt_get_all(l0, l1, s); | ||
1930 | } | 1924 | } |
1931 | 1925 | ||
1932 | /* | 1926 | /* |
@@ -1936,7 +1930,7 @@ xfs_filblks_t | |||
1936 | xfs_bmbt_disk_get_blockcount( | 1930 | xfs_bmbt_disk_get_blockcount( |
1937 | xfs_bmbt_rec_t *r) | 1931 | xfs_bmbt_rec_t *r) |
1938 | { | 1932 | { |
1939 | return (xfs_filblks_t)(INT_GET(r->l1, ARCH_CONVERT) & XFS_MASK64LO(21)); | 1933 | return (xfs_filblks_t)(be64_to_cpu(r->l1) & XFS_MASK64LO(21)); |
1940 | } | 1934 | } |
1941 | 1935 | ||
1942 | /* | 1936 | /* |
@@ -1946,11 +1940,9 @@ xfs_fileoff_t | |||
1946 | xfs_bmbt_disk_get_startoff( | 1940 | xfs_bmbt_disk_get_startoff( |
1947 | xfs_bmbt_rec_t *r) | 1941 | xfs_bmbt_rec_t *r) |
1948 | { | 1942 | { |
1949 | return ((xfs_fileoff_t)INT_GET(r->l0, ARCH_CONVERT) & | 1943 | return ((xfs_fileoff_t)be64_to_cpu(r->l0) & |
1950 | XFS_MASK64LO(64 - BMBT_EXNTFLAG_BITLEN)) >> 9; | 1944 | XFS_MASK64LO(64 - BMBT_EXNTFLAG_BITLEN)) >> 9; |
1951 | } | 1945 | } |
1952 | #endif /* XFS_NATIVE_HOST */ | ||
1953 | |||
1954 | 1946 | ||
1955 | /* | 1947 | /* |
1956 | * Increment cursor by one record at the level. | 1948 | * Increment cursor by one record at the level. |
@@ -2348,7 +2340,6 @@ xfs_bmbt_set_all( | |||
2348 | } | 2340 | } |
2349 | 2341 | ||
2350 | 2342 | ||
2351 | #ifndef XFS_NATIVE_HOST | ||
2352 | /* | 2343 | /* |
2353 | * Set all the fields in a disk format bmap extent record from the arguments. | 2344 | * Set all the fields in a disk format bmap extent record from the arguments. |
2354 | */ | 2345 | */ |
@@ -2369,29 +2360,29 @@ xfs_bmbt_disk_set_allf( | |||
2369 | #if XFS_BIG_BLKNOS | 2360 | #if XFS_BIG_BLKNOS |
2370 | ASSERT((startblock & XFS_MASK64HI(64-BMBT_STARTBLOCK_BITLEN)) == 0); | 2361 | ASSERT((startblock & XFS_MASK64HI(64-BMBT_STARTBLOCK_BITLEN)) == 0); |
2371 | 2362 | ||
2372 | INT_SET(r->l0, ARCH_CONVERT, | 2363 | r->l0 = cpu_to_be64( |
2373 | ((xfs_bmbt_rec_base_t)extent_flag << 63) | | 2364 | ((xfs_bmbt_rec_base_t)extent_flag << 63) | |
2374 | ((xfs_bmbt_rec_base_t)startoff << 9) | | 2365 | ((xfs_bmbt_rec_base_t)startoff << 9) | |
2375 | ((xfs_bmbt_rec_base_t)startblock >> 43)); | 2366 | ((xfs_bmbt_rec_base_t)startblock >> 43)); |
2376 | INT_SET(r->l1, ARCH_CONVERT, | 2367 | r->l1 = cpu_to_be64( |
2377 | ((xfs_bmbt_rec_base_t)startblock << 21) | | 2368 | ((xfs_bmbt_rec_base_t)startblock << 21) | |
2378 | ((xfs_bmbt_rec_base_t)blockcount & | 2369 | ((xfs_bmbt_rec_base_t)blockcount & |
2379 | (xfs_bmbt_rec_base_t)XFS_MASK64LO(21))); | 2370 | (xfs_bmbt_rec_base_t)XFS_MASK64LO(21))); |
2380 | #else /* !XFS_BIG_BLKNOS */ | 2371 | #else /* !XFS_BIG_BLKNOS */ |
2381 | if (ISNULLSTARTBLOCK(b)) { | 2372 | if (ISNULLSTARTBLOCK(b)) { |
2382 | INT_SET(r->l0, ARCH_CONVERT, | 2373 | r->l0 = cpu_to_be64( |
2383 | ((xfs_bmbt_rec_base_t)extent_flag << 63) | | 2374 | ((xfs_bmbt_rec_base_t)extent_flag << 63) | |
2384 | ((xfs_bmbt_rec_base_t)startoff << 9) | | 2375 | ((xfs_bmbt_rec_base_t)startoff << 9) | |
2385 | (xfs_bmbt_rec_base_t)XFS_MASK64LO(9)); | 2376 | (xfs_bmbt_rec_base_t)XFS_MASK64LO(9)); |
2386 | INT_SET(r->l1, ARCH_CONVERT, XFS_MASK64HI(11) | | 2377 | r->l1 = cpu_to_be64(XFS_MASK64HI(11) | |
2387 | ((xfs_bmbt_rec_base_t)startblock << 21) | | 2378 | ((xfs_bmbt_rec_base_t)startblock << 21) | |
2388 | ((xfs_bmbt_rec_base_t)blockcount & | 2379 | ((xfs_bmbt_rec_base_t)blockcount & |
2389 | (xfs_bmbt_rec_base_t)XFS_MASK64LO(21))); | 2380 | (xfs_bmbt_rec_base_t)XFS_MASK64LO(21))); |
2390 | } else { | 2381 | } else { |
2391 | INT_SET(r->l0, ARCH_CONVERT, | 2382 | r->l0 = cpu_to_be64( |
2392 | ((xfs_bmbt_rec_base_t)extent_flag << 63) | | 2383 | ((xfs_bmbt_rec_base_t)extent_flag << 63) | |
2393 | ((xfs_bmbt_rec_base_t)startoff << 9)); | 2384 | ((xfs_bmbt_rec_base_t)startoff << 9)); |
2394 | INT_SET(r->l1, ARCH_CONVERT, | 2385 | r->l1 = cpu_to_be64( |
2395 | ((xfs_bmbt_rec_base_t)startblock << 21) | | 2386 | ((xfs_bmbt_rec_base_t)startblock << 21) | |
2396 | ((xfs_bmbt_rec_base_t)blockcount & | 2387 | ((xfs_bmbt_rec_base_t)blockcount & |
2397 | (xfs_bmbt_rec_base_t)XFS_MASK64LO(21))); | 2388 | (xfs_bmbt_rec_base_t)XFS_MASK64LO(21))); |
@@ -2410,7 +2401,6 @@ xfs_bmbt_disk_set_all( | |||
2410 | xfs_bmbt_disk_set_allf(r, s->br_startoff, s->br_startblock, | 2401 | xfs_bmbt_disk_set_allf(r, s->br_startoff, s->br_startblock, |
2411 | s->br_blockcount, s->br_state); | 2402 | s->br_blockcount, s->br_state); |
2412 | } | 2403 | } |
2413 | #endif /* XFS_NATIVE_HOST */ | ||
2414 | 2404 | ||
2415 | /* | 2405 | /* |
2416 | * Set the blockcount field in a bmap extent record. | 2406 | * Set the blockcount field in a bmap extent record. |