2024-04-05 15:01:20

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] bcachefs: fix ! vs ~ typo in __clear_bit_le64()

The ! was obviously intended to be ~. As it is, this function does
the equivalent to: "addr[bit / 64] = 0;".

Fixes: 27fcec6c27ca ("bcachefs: Clear recovery_passes_required as they complete without errors")
Signed-off-by: Dan Carpenter <[email protected]>
---
fs/bcachefs/util.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h
index b7e7c29278fc..de639e8a3ab5 100644
--- a/fs/bcachefs/util.h
+++ b/fs/bcachefs/util.h
@@ -795,7 +795,7 @@ static inline void __set_bit_le64(size_t bit, __le64 *addr)

static inline void __clear_bit_le64(size_t bit, __le64 *addr)
{
- addr[bit / 64] &= !cpu_to_le64(BIT_ULL(bit % 64));
+ addr[bit / 64] &= ~cpu_to_le64(BIT_ULL(bit % 64));
}

static inline bool test_bit_le64(size_t bit, __le64 *addr)
--
2.43.0



2024-04-05 18:42:42

by Kent Overstreet

[permalink] [raw]
Subject: Re: [PATCH] bcachefs: fix ! vs ~ typo in __clear_bit_le64()

On Fri, Apr 05, 2024 at 06:01:02PM +0300, Dan Carpenter wrote:
> The ! was obviously intended to be ~. As it is, this function does
> the equivalent to: "addr[bit / 64] = 0;".
>
> Fixes: 27fcec6c27ca ("bcachefs: Clear recovery_passes_required as they complete without errors")
> Signed-off-by: Dan Carpenter <[email protected]>

Thanks, applied