[PATCH 11/21] affs: use aligned-endian get/put helpers

From: Harvey Harrison
Date: Tue May 20 2008 - 14:13:07 EST


Signed-off-by: Harvey Harrison <harvey.harrison@xxxxxxxxx>
---
fs/affs/bitmap.c | 14 +++++++-------
fs/affs/super.c | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/affs/bitmap.c b/fs/affs/bitmap.c
index c4a5ad0..3df7327 100644
--- a/fs/affs/bitmap.c
+++ b/fs/affs/bitmap.c
@@ -92,14 +92,14 @@ affs_free_block(struct super_block *sb, u32 block)
data = (__be32 *)bh->b_data + bit / 32 + 1;

/* mark block free */
- tmp = be32_to_cpu(*data);
+ tmp = get_be32(*data);
if (tmp & mask)
goto err_free;
*data = cpu_to_be32(tmp | mask);

/* fix checksum */
- tmp = be32_to_cpu(*(__be32 *)bh->b_data);
- *(__be32 *)bh->b_data = cpu_to_be32(tmp - mask);
+ tmp = get_be32(bh->b_data);
+ put_be32(tmp - mask, bh->b_data);

mark_buffer_dirty(bh);
sb->s_dirt = 1;
@@ -208,7 +208,7 @@ find_bmap_bit:
mask = ~0UL << (bit & 31);
blk &= ~31UL;

- tmp = be32_to_cpu(*data);
+ tmp = get_be32(data);
if (tmp & mask)
goto find_bit;

@@ -221,7 +221,7 @@ find_bmap_bit:
*/
goto find_bmap;
} while (!*data);
- tmp = be32_to_cpu(*data);
+ tmp = get_be32(data);
mask = ~0;

find_bit:
@@ -243,8 +243,8 @@ find_bit:
*data = cpu_to_be32(tmp & ~mask);

/* fix checksum */
- tmp = be32_to_cpu(*(__be32 *)bh->b_data);
- *(__be32 *)bh->b_data = cpu_to_be32(tmp + mask);
+ tmp = get_be32(bh->b_data);
+ put_be32(tmp + mask, bh->b_data);

mark_buffer_dirty(bh);
sb->s_dirt = 1;
diff --git a/fs/affs/super.c b/fs/affs/super.c
index d214837..cd7c1d4 100644
--- a/fs/affs/super.c
+++ b/fs/affs/super.c
@@ -379,7 +379,7 @@ got_root:
}
memcpy(sig, boot_bh->b_data, 4);
brelse(boot_bh);
- chksum = be32_to_cpu(*(__be32 *)sig);
+ chksum = get_be32(sig);

/* Dircache filesystems are compatible with non-dircache ones
* when reading. As long as they aren't supported, writing is
--
1.5.5.1.570.g26b5e


--
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/