Re: [PATCH v2 1/5] block: cleanup and export bdev IO inflight APIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 18, 2025 at 09:09:37AM +0800, Yu Kuai wrote:
> - remove unused blk_mq_in_flight

That should probably be a separate patch.

> - rename blk_mq_in_flight_rw to blk_mq_count_in_driver_rw, to distinguish
>   from bdev_count_inflight_rw.

I'm not sure why this is needed or related, or even what additional
distinction is added here.

> -
> -void blk_mq_in_flight_rw(struct request_queue *q, struct block_device *part,
> -		unsigned int inflight[2])
> +void blk_mq_count_in_driver_rw(struct request_queue *q,
> +			       struct block_device *part,
> +			       unsigned int inflight[2])

Any reason to move away from two tab indents for the prototype
continuations in various places in this patch?

> + * Noted, for rq-based block device, use blk_mq_count_in_driver_rw() to get the
> + * number of requests issued to driver.

I'd just change this helper to call blk_mq_count_in_driver_rw for
blk-mq devices and remove the conditional from the sysfs code instead.
That gives us a much more robust and easier to understand API.

> +void bdev_count_inflight_rw(struct block_device *bdev, unsigned int inflight[2]);

Overly long line.

> +static inline unsigned int bdev_count_inflight(struct block_device *bdev)
> +{
> +	unsigned int inflight[2];
> +
> +	bdev_count_inflight_rw(bdev, inflight);
> +
> +	return inflight[0] + inflight[1];
> +}
>  #endif /* _LINUX_PART_STAT_H */

Maybe keep this inside of block as it should not not be used by
drivers?  Also the reimplementation should probably be a separate
patch from the public API change and exporting.





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux