diff options
author | Akinobu Mita <mita@miraclelinux.com> | 2006-03-26 04:39:05 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-26 11:57:10 -0500 |
commit | 67b0ad574b5ee90f8ea58196ff8a7f3780b75365 (patch) | |
tree | ca9bc212f6efa8f5170185ef1fa21f75de0684fd /include/asm-s390/bitops.h | |
parent | 72b61a3cfd80d1321eb898be8ceae2064f0fbea1 (diff) |
[PATCH] bitops: use non atomic operations for minix_*_bit() and ext2_*_bit()
Bitmap functions for the minix filesystem and the ext2 filesystem except
ext2_set_bit_atomic() and ext2_clear_bit_atomic() do not require the atomic
guarantees.
But these are defined by using atomic bit operations on several architectures.
(cris, frv, h8300, ia64, m32r, m68k, m68knommu, mips, s390, sh, sh64, sparc,
sparc64, v850, and xtensa)
This patch switches to non atomic bit operation.
Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-s390/bitops.h')
-rw-r--r-- | include/asm-s390/bitops.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/asm-s390/bitops.h b/include/asm-s390/bitops.h index 3628899f48bb..6b6a01dfc8dc 100644 --- a/include/asm-s390/bitops.h +++ b/include/asm-s390/bitops.h | |||
@@ -871,11 +871,11 @@ static inline int sched_find_first_bit(unsigned long *b) | |||
871 | */ | 871 | */ |
872 | 872 | ||
873 | #define ext2_set_bit(nr, addr) \ | 873 | #define ext2_set_bit(nr, addr) \ |
874 | test_and_set_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr) | 874 | __test_and_set_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr) |
875 | #define ext2_set_bit_atomic(lock, nr, addr) \ | 875 | #define ext2_set_bit_atomic(lock, nr, addr) \ |
876 | test_and_set_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr) | 876 | test_and_set_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr) |
877 | #define ext2_clear_bit(nr, addr) \ | 877 | #define ext2_clear_bit(nr, addr) \ |
878 | test_and_clear_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr) | 878 | __test_and_clear_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr) |
879 | #define ext2_clear_bit_atomic(lock, nr, addr) \ | 879 | #define ext2_clear_bit_atomic(lock, nr, addr) \ |
880 | test_and_clear_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr) | 880 | test_and_clear_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr) |
881 | #define ext2_test_bit(nr, addr) \ | 881 | #define ext2_test_bit(nr, addr) \ |
@@ -1014,11 +1014,11 @@ ext2_find_next_zero_bit(void *vaddr, unsigned long size, unsigned long offset) | |||
1014 | /* Bitmap functions for the minix filesystem. */ | 1014 | /* Bitmap functions for the minix filesystem. */ |
1015 | /* FIXME !!! */ | 1015 | /* FIXME !!! */ |
1016 | #define minix_test_and_set_bit(nr,addr) \ | 1016 | #define minix_test_and_set_bit(nr,addr) \ |
1017 | test_and_set_bit(nr,(unsigned long *)addr) | 1017 | __test_and_set_bit(nr,(unsigned long *)addr) |
1018 | #define minix_set_bit(nr,addr) \ | 1018 | #define minix_set_bit(nr,addr) \ |
1019 | set_bit(nr,(unsigned long *)addr) | 1019 | __set_bit(nr,(unsigned long *)addr) |
1020 | #define minix_test_and_clear_bit(nr,addr) \ | 1020 | #define minix_test_and_clear_bit(nr,addr) \ |
1021 | test_and_clear_bit(nr,(unsigned long *)addr) | 1021 | __test_and_clear_bit(nr,(unsigned long *)addr) |
1022 | #define minix_test_bit(nr,addr) \ | 1022 | #define minix_test_bit(nr,addr) \ |
1023 | test_bit(nr,(unsigned long *)addr) | 1023 | test_bit(nr,(unsigned long *)addr) |
1024 | #define minix_find_first_zero_bit(addr,size) \ | 1024 | #define minix_find_first_zero_bit(addr,size) \ |