[PATCH 18/22] md: use little endian bit operations

[PATCH 18/22] md: use little endian bit operations

am 15.10.2010 11:46:17 von Akinobu Mita

As a preparation for removing ext2 non-atomic bit operations from
asm/bitops.h. This converts ext2 non-atomic bit operations to
little endian bit operations.

Signed-off-by: Akinobu Mita
Cc: Neil Brown
Cc: linux-raid@vger.kernel.org
---
drivers/md/bitmap.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
index e4fb58d..2a37051 100644
--- a/drivers/md/bitmap.c
+++ b/drivers/md/bitmap.c
@@ -850,7 +850,7 @@ static void bitmap_file_set_bit(struct bitmap *bitmap, sector_t block)
if (bitmap->flags & BITMAP_HOSTENDIAN)
set_bit(bit, kaddr);
else
- ext2_set_bit(bit, kaddr);
+ __test_and_set_le_bit(bit, kaddr);
kunmap_atomic(kaddr, KM_USER0);
PRINTK("set file bit %lu page %lu\n", bit, page->index);
}
@@ -1046,7 +1046,7 @@ static int bitmap_init_from_disk(struct bitmap *bitmap, sector_t start)
if (bitmap->flags & BITMAP_HOSTENDIAN)
b = test_bit(bit, paddr);
else
- b = ext2_test_bit(bit, paddr);
+ b = test_le_bit(bit, paddr);
kunmap_atomic(paddr, KM_USER0);
if (b) {
/* if the disk bit is set, set the memory bit */
@@ -1222,7 +1222,7 @@ void bitmap_daemon_work(mddev_t *mddev)
clear_bit(file_page_offset(bitmap, j),
paddr);
else
- ext2_clear_bit(file_page_offset(bitmap, j),
+ __test_and_clear_le_bit(file_page_offset(bitmap, j),
paddr);
kunmap_atomic(paddr, KM_USER0);
} else
--
1.7.1.231.gd0b16

Re: [PATCH 18/22] md: use little endian bit operations

am 18.10.2010 04:41:27 von NeilBrown

On Fri, 15 Oct 2010 18:46:17 +0900
Akinobu Mita wrote:

> As a preparation for removing ext2 non-atomic bit operations from
> asm/bitops.h. This converts ext2 non-atomic bit operations to
> little endian bit operations.

Looks good, thanks.

Acked-by: NeilBrown

NeilBrown

>
> Signed-off-by: Akinobu Mita
> Cc: Neil Brown
> Cc: linux-raid@vger.kernel.org
> ---
> drivers/md/bitmap.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
> index e4fb58d..2a37051 100644
> --- a/drivers/md/bitmap.c
> +++ b/drivers/md/bitmap.c
> @@ -850,7 +850,7 @@ static void bitmap_file_set_bit(struct bitmap *bitmap, sector_t block)
> if (bitmap->flags & BITMAP_HOSTENDIAN)
> set_bit(bit, kaddr);
> else
> - ext2_set_bit(bit, kaddr);
> + __test_and_set_le_bit(bit, kaddr);
> kunmap_atomic(kaddr, KM_USER0);
> PRINTK("set file bit %lu page %lu\n", bit, page->index);
> }
> @@ -1046,7 +1046,7 @@ static int bitmap_init_from_disk(struct bitmap *bitmap, sector_t start)
> if (bitmap->flags & BITMAP_HOSTENDIAN)
> b = test_bit(bit, paddr);
> else
> - b = ext2_test_bit(bit, paddr);
> + b = test_le_bit(bit, paddr);
> kunmap_atomic(paddr, KM_USER0);
> if (b) {
> /* if the disk bit is set, set the memory bit */
> @@ -1222,7 +1222,7 @@ void bitmap_daemon_work(mddev_t *mddev)
> clear_bit(file_page_offset(bitmap, j),
> paddr);
> else
> - ext2_clear_bit(file_page_offset(bitmap, j),
> + __test_and_clear_le_bit(file_page_offset(bitmap, j),
> paddr);
> kunmap_atomic(paddr, KM_USER0);
> } else