RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1911343 - blk_alloc_queue() ABI change
Summary: blk_alloc_queue() ABI change
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: kernel
Version: CentOS Stream
Hardware: All
OS: Linux
unspecified
unspecified
Target Milestone: rc
: 8.0
Assignee: Ming Lei
QA Contact: ChanghuiZhong
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-12-28 18:54 UTC by Brian Behlendorf
Modified: 2021-09-06 16:05 UTC (History)
6 users (show)

Fixed In Version: kernel-4.18.0-279.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-18 14:27:42 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2021:1578 0 None None None 2021-05-18 15:09:43 UTC

Description Brian Behlendorf 2020-12-28 18:54:20 UTC
Description of problem:

The blk_alloc_queue() function is no longer available in the kernel headers for the
4.18.0-257.el8 kernel.  The symbol is still exported in kallsyms so I expect existing
kmods should be fine, but since it's not included in the headers no new kmods can be
built which use this interface.

This may all be intentional but since the symbol does appear on the kABI whitelist
I wanted to verify this was done intentionally.  Was adding the old interface to the
headers accidentally overlooked or should consumers of this interface migrate to the
new blk_alloc_queue_rh function which is an upstream backport?


Version-Release number of selected component (if applicable):

CentOS Stream 8.4 kernel: 4.18.0-257.el8


How reproducible:

Always.


Steps to Reproduce:

1. Compile any kmod which relies on the previous blk_alloc_queue() function.
This was first observed when building OpenZFS against CentOS Stream:

  https://github.com/openzfs/zfs/issues/11320.


Actual results:

When building OpenZFS the configure stage fails due to the missing interface.


Expected results:

The configure stage should detect the blk_alloc_queue() and the subsequent make
should complete successfully.


Additional info:

The latest development version of OpenZFS has been updated to use the
blk_alloc_queue_bh() function when available to avoid the failure.  However,
it's unclear if the blk_alloc_queue() symbol should still be used by external
kmods or not.

Comment 1 Ming Lei 2020-12-29 01:20:59 UTC
I will fix the issue.

Comment 8 Jan Stancek 2021-01-08 16:02:14 UTC
Patch(es) available on kernel-4.18.0-269.el8.dt4

Comment 17 ChanghuiZhong 2021-01-25 08:21:23 UTC
declaration of blk_alloc_queue has add back,
but zfs's configure script detects blk_queue_make_request() too,
so,blk_queue_make_request() ABI change will be fixed in bz1919764.

mark this bz as verified:Tested

Comment 18 Brian Behlendorf 2021-01-25 17:22:47 UTC
Thanks for addressing this!

Comment 19 Jan Stancek 2021-01-27 06:39:18 UTC
Patch(es) available on kernel-4.18.0-279.el8

Comment 23 ChanghuiZhong 2021-01-31 09:59:38 UTC
Confirmed that the blk_alloc_queue declaration has been added back,

$ git log kernel-4.18.0-279.el8  --oneline --grep=1911343
1d067deee444 [block] block: add blk_alloc_queue declaration back


Move to verified

Comment 24 Carl George 🤠 2021-03-19 15:51:53 UTC
kernel-4.18.0-294.el8, which includes this fix, is now available in CentOS Stream 8.

Comment 26 errata-xmlrpc 2021-05-18 14:27:42 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: kernel security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:1578

Comment 27 errata-xmlrpc 2021-05-18 15:09:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: kernel security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:1578


Note You need to log in before you can comment on or make changes to this bug.