Re: [PATCH] block: use assign_bit() where applicable
From: Christoph Böhmwalder
Date: Mon Sep 21 2026 - 07:46:19 EST
On 9/18/26 16:16, Peng Fan (OSS) wrote:
From: Peng Fan <peng.fan@xxxxxxx>For DRBD:
Convert open-coded if/else with set_bit/clear_bit and their
non-atomic __set_bit/__clear_bit variants to the assign_bit/__assign_bit
API.
Done with Coccinelle semantic patch:
// set_bit -> clear_bit => assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- set_bit(bit, addr);
-else
- clear_bit(bit, addr);
+assign_bit(bit, addr, cond);
// clear_bit -> set_bit => assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- clear_bit(bit, addr);
-else
- set_bit(bit, addr);
+assign_bit(bit, addr, !cond);
// __set_bit -> __clear_bit => __assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- __set_bit(bit, addr);
-else
- __clear_bit(bit, addr);
+__assign_bit(bit, addr, cond);
// __clear_bit -> __set_bit => __assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- __clear_bit(bit, addr);
-else
- __set_bit(bit, addr);
+__assign_bit(bit, addr, !cond);
Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---
drivers/block/drbd/drbd_nl.c | 16 ++++------------
drivers/block/drbd/drbd_receiver.c | 5 +----
drivers/block/floppy.c | 8 ++------
drivers/block/mtip32xx/mtip32xx.c | 6 ++----
4 files changed, 9 insertions(+), 26 deletions(-)
Reviewed-by: Christoph Böhmwalder <christoph.boehmwalder@xxxxxxxxxx>
Regards,
Christoph