Re: [PATCH] block: propagate in_flight to whole disk on partition I/O
From: Tang Yizhou
Date: Fri May 22 2026 - 09:13:03 EST
On Fri, May 22, 2026 at 8:12 PM Christoph Hellwig <hch@xxxxxx> wrote:
>
> On Fri, May 22, 2026 at 07:37:51PM +0800, Tang Yizhou wrote:
> > --- a/block/blk-core.c
> > +++ b/block/blk-core.c
> > @@ -1043,6 +1043,8 @@ unsigned long bdev_start_io_acct(struct block_device *bdev, enum req_op op,
> > part_stat_lock();
> > update_io_ticks(bdev, start_time, false);
> > part_stat_local_inc(bdev, in_flight[op_is_write(op)]);
> > + if (bdev_is_partition(bdev))
> > + part_stat_local_inc(bdev_whole(bdev), in_flight[op_is_write(op)]);
>
> overly lone line.
OK. I will update in the next patch.
>
> > + if (bdev_is_partition(bdev))
> > + part_stat_local_dec(bdev_whole(bdev), in_flight[op_is_write(op)]);
>
> Same.
>
> > }
> > @@ -1144,6 +1147,9 @@ static inline void blk_account_io_start(struct request *req)
> > part_stat_lock();
> > update_io_ticks(req->part, jiffies, false);
> > part_stat_local_inc(req->part, in_flight[op_is_write(req_op(req))]);
> > + if (bdev_is_partition(req->part))
> > + part_stat_local_inc(bdev_whole(req->part),
> > + in_flight[op_is_write(req_op(req))]);
>
> and tis duplicates the above logic. Mabye factor the common code
> into two little helpers?
Sure.
>