Linux 6.14: BLK_MQ_F_SHOULD_MERGE was removed

According to the upstream change, all callers set it, and all block
devices either honoured it or ignored it, so removing it entirely allows
a bunch of handling for the "unset" case to be removed, and it becomes
effectively implied.

We follow suit, and keep setting it for older kernels.

Sponsored-by: https://despairlabs.com/sponsor/
Signed-off-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
This commit is contained in:
Rob Norris 2025-02-05 17:52:45 +11:00 committed by Ameer Hamza
parent 51bec16060
commit 3266d4d655

View File

@ -202,7 +202,16 @@ static int zvol_blk_mq_alloc_tag_set(zvol_state_t *zv)
* We need BLK_MQ_F_BLOCKING here since we do blocking calls in
* zvol_request_impl()
*/
zso->tag_set.flags = BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_BLOCKING;
zso->tag_set.flags = BLK_MQ_F_BLOCKING;
#ifdef BLK_MQ_F_SHOULD_MERGE
/*
* Linux 6.14 removed BLK_MQ_F_SHOULD_MERGE and made it implicit.
* For older kernels, we set it.
*/
zso->tag_set.flags |= BLK_MQ_F_SHOULD_MERGE;
#endif
zso->tag_set.driver_data = zv;
return (blk_mq_alloc_tag_set(&zso->tag_set));