[Drbd-dev] [patch] drbd: fix resync_dump_detail() output
Dan Carpenter
dan.carpenter at oracle.com
Wed Mar 7 11:03:01 CET 2012
The tests here aren't correct. It should be doing a shift before doing
the bitwise AND. (bme->flags & BME_NO_WRITES) is always false and
(bme->flags & BME_LOCKED) checks for BME_NO_WRITES instead of checking
for locked.
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
diff --git a/drivers/block/drbd/drbd_proc.c b/drivers/block/drbd/drbd_proc.c
index 2959cdf..ffe1ee4 100644
--- a/drivers/block/drbd/drbd_proc.c
+++ b/drivers/block/drbd/drbd_proc.c
@@ -187,8 +187,10 @@ static void resync_dump_detail(struct seq_file *seq, struct lc_element *e)
struct bm_extent *bme = lc_entry(e, struct bm_extent, lce);
seq_printf(seq, "%5d %s %s\n", bme->rs_left,
- bme->flags & BME_NO_WRITES ? "NO_WRITES" : "---------",
- bme->flags & BME_LOCKED ? "LOCKED" : "------"
+ test_bit(BME_NO_WRITES, &bme->flags) ?
+ "NO_WRITES" : "---------",
+ test_bit(BME_LOCKED, &bme->flags) ?
+ "LOCKED" : "------"
);
}
More information about the drbd-dev
mailing list