* for-5.9/drivers: (38 commits) block: add max_active_zones to blk-sysfs block: add max_open_zones to blk-sysfs s390/dasd: Use struct_size() helper s390/dasd: fix inability to use DASD with DIAG driver md-cluster: fix wild pointer of unlock_all_bitmaps() md/raid5-cache: clear MD_SB_CHANGE_PENDING before flushing stripes md: fix deadlock causing by sysfs_notify md: improve io stats accounting md: raid0/linear: fix dereference before null check on pointer mddev rsxx: switch from 'pci_free_consistent()' to 'dma_free_coherent()' nvme: remove ns->disk checks nvme-pci: use standard block status symbolic names nvme-pci: use the consistent return type of nvme_pci_iod_alloc_size() nvme-pci: add a blank line after declarations nvme-pci: fix some comments issues nvme-pci: remove redundant segment validation nvme: document quirked Intel models nvme: expose reconnect_delay and ctrl_loss_tmo via sysfs nvme: support for zoned namespaces nvme: support for multiple Command Sets Supported and Effects log pages ...
Showing the changes to include/linux/blkdev.h (1 of 39 files). Show all
Unified · Split
| @@ -513,6 +513,8 @@ struct request_queue { · 512 unmodified lines | ||
| 513 | 513 | unsigned int nr_zones; |
| 514 | 514 | unsigned long *conv_zones_bitmap; |
| 515 | 515 | unsigned long *seq_zones_wlock; |
| 516 | + unsigned int max_open_zones; | |
| 517 | + unsigned int max_active_zones; | |
| 516 | 518 | #endif /* CONFIG_BLK_DEV_ZONED */ |
| 517 | 519 | |
| 518 | 520 | /* |
| @@ -722,6 +724,28 @@ static inline bool blk_queue_zone_is_seq(struct request_queue *q, · 203 unmodified lines | ||
| 722 | 724 | return true; |
| 723 | 725 | return !test_bit(blk_queue_zone_no(q, sector), q->conv_zones_bitmap); |
| 724 | 726 | } |
| 727 | + | |
| 728 | +static inline void blk_queue_max_open_zones(struct request_queue *q, | |
| 729 | + unsigned int max_open_zones) | |
| 730 | +{ | |
| 731 | + q->max_open_zones = max_open_zones; | |
| 732 | +} | |
| 733 | + | |
| 734 | +static inline unsigned int queue_max_open_zones(const struct request_queue *q) | |
| 735 | +{ | |
| 736 | + return q->max_open_zones; | |
| 737 | +} | |
| 738 | + | |
| 739 | +static inline void blk_queue_max_active_zones(struct request_queue *q, | |
| 740 | + unsigned int max_active_zones) | |
| 741 | +{ | |
| 742 | + q->max_active_zones = max_active_zones; | |
| 743 | +} | |
| 744 | + | |
| 745 | +static inline unsigned int queue_max_active_zones(const struct request_queue *q) | |
| 746 | +{ | |
| 747 | + return q->max_active_zones; | |
| 748 | +} | |
| 725 | 749 | #else /* CONFIG_BLK_DEV_ZONED */ |
| 726 | 750 | static inline unsigned int blk_queue_nr_zones(struct request_queue *q) |
| 727 | 751 | { |
| @@ -737,6 +761,14 @@ static inline unsigned int blk_queue_zone_no(struct request_queue *q, · 9 unmodified lines | ||
| 737 | 761 | { |
| 738 | 762 | return 0; |
| 739 | 763 | } |
| 764 | +static inline unsigned int queue_max_open_zones(const struct request_queue *q) | |
| 765 | +{ | |
| 766 | + return 0; | |
| 767 | +} | |
| 768 | +static inline unsigned int queue_max_active_zones(const struct request_queue *q) | |
| 769 | +{ | |
| 770 | + return 0; | |
| 771 | +} | |
| 740 | 772 | #endif /* CONFIG_BLK_DEV_ZONED */ |
| 741 | 773 | |
| 742 | 774 | static inline bool rq_is_sync(struct request *rq) |
| @@ -1519,6 +1551,24 @@ static inline sector_t bdev_zone_sectors(struct block_device *bdev) · 776 unmodified lines | ||
| 1519 | 1551 | return 0; |
| 1520 | 1552 | } |
| 1521 | 1553 | |
| 1554 | +static inline unsigned int bdev_max_open_zones(struct block_device *bdev) | |
| 1555 | +{ | |
| 1556 | + struct request_queue *q = bdev_get_queue(bdev); | |
| 1557 | + | |
| 1558 | + if (q) | |
| 1559 | + return queue_max_open_zones(q); | |
| 1560 | + return 0; | |
| 1561 | +} | |
| 1562 | + | |
| 1563 | +static inline unsigned int bdev_max_active_zones(struct block_device *bdev) | |
| 1564 | +{ | |
| 1565 | + struct request_queue *q = bdev_get_queue(bdev); | |
| 1566 | + | |
| 1567 | + if (q) | |
| 1568 | + return queue_max_active_zones(q); | |
| 1569 | + return 0; | |
| 1570 | +} | |
| 1571 | + | |
| 1522 | 1572 | static inline int queue_dma_alignment(const struct request_queue *q) |
| 1523 | 1573 | { |
| 1524 | 1574 | return q ? q->dma_alignment : 511; |