block: WARN if bdev inflight counter is negative

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>
This commit is contained in:
Yu Kuai 2025-05-06 20:48:56 +08:00
parent 5b8f19aee4
commit f5482ee5ed

View 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[0] += part_stat_local_read_cpu(part, in_flight[0], cpu);
inflight[1] += part_stat_local_read_cpu(part, in_flight[1], 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; inflight[0] = 0;
if ((int)inflight[1] < 0) if (WARN_ON_ONCE((int)inflight[1] < 0))
inflight[1] = 0; inflight[1] = 0;
} }