dm: use little-endian bitops
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>
This commit is contained in:
parent
6b33aff368
commit
bb5cda3d70
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user