]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
block: WARN if bdev inflight counter is negative
authorYu Kuai <yukuai3@huawei.com>
Tue, 6 May 2025 12:48:56 +0000 (20:48 +0800)
committerYu Kuai <yukuai3@huawei.com>
Sat, 10 May 2025 08:06:12 +0000 (16:06 +0800)
Which means there is a bug for related bio-based disk driver, or blk-mq
for rq-based disk, it's better not to hide the bug.

Link: https://lore.kernel.org/linux-raid/20250506124903.2540268-3-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
block/genhd.c

index 1df776e4ef927ebf1ae93480485f6c0255a741aa..6d133061ea3d09444335deaa8af00bdddd9882c4 100644 (file)
@@ -136,9 +136,9 @@ static void part_in_flight_rw(struct block_device *part,
                inflight[0] += part_stat_local_read_cpu(part, in_flight[0], cpu);
                inflight[1] += part_stat_local_read_cpu(part, in_flight[1], cpu);
        }
-       if ((int)inflight[0] < 0)
+       if (WARN_ON_ONCE((int)inflight[0] < 0))
                inflight[0] = 0;
-       if ((int)inflight[1] < 0)
+       if (WARN_ON_ONCE((int)inflight[1] < 0))
                inflight[1] = 0;
 }