dm: use little-endian bitops
authorAkinobu Mita <akinobu.mita@gmail.com>
Wed, 23 Mar 2011 23:42:13 +0000 (16:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Mar 2011 02:46:20 +0000 (19:46 -0700)
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 <akinobu.mita@gmail.com>
Cc: Alasdair Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/md/dm-log.c

index 6951536ea29ceab63c8dca6facdb8253ac311dac..57968eb382c152d389af750ab3887aae178e8e2b 100644 (file)
@@ -251,20 +251,20 @@ struct log_c {
  */
 static inline int log_test_bit(uint32_t *bs, unsigned bit)
 {
-       return ext2_test_bit(bit, (unsigned long *) bs) ? 1 : 0;
+       return test_bit_le(bit, (unsigned long *) bs) ? 1 : 0;
 }
 
 static inline void log_set_bit(struct log_c *l,
                               uint32_t *bs, unsigned bit)
 {
-       ext2_set_bit(bit, (unsigned long *) bs);
+       __test_and_set_bit_le(bit, (unsigned long *) bs);
        l->touched_cleaned = 1;
 }
 
 static inline void log_clear_bit(struct log_c *l,
                                 uint32_t *bs, unsigned bit)
 {
-       ext2_clear_bit(bit, (unsigned long *) bs);
+       __test_and_clear_bit_le(bit, (unsigned long *) bs);
        l->touched_dirtied = 1;
 }
 
@@ -740,7 +740,7 @@ static int core_get_resync_work(struct dm_dirty_log *log, region_t *region)
                return 0;
 
        do {
-               *region = ext2_find_next_zero_bit(
+               *region = find_next_zero_bit_le(
                                             (unsigned long *) lc->sync_bits,
                                             lc->region_count,
                                             lc->sync_search);