Bug 2177196
| Summary: | semantic error: unable to find member 'request' for struct scsi_cmnd - rawhide | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Martin Cermak <mcermak> |
| Component: | systemtap | Assignee: | Frank Ch. Eigler <fche> |
| Status: | NEW --- | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 39 | CC: | amerey, fche, mcermak, mjw, scox, wcohen |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | Bug | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Martin Cermak
2023-03-10 11:25:35 UTC
The following patch in the kernel removes the request field from struct scsi_cmnd:
commit 2266a2def97ce11ec979b6c58a1b637a16eca7dd
Author: Bart Van Assche <bvanassche>
Date: Mon Aug 9 16:03:55 2021 -0700
scsi: core: Remove the request member from struct scsi_cmnd
Since all scsi_cmnd.request users are gone, remove the request pointer
from struct scsi_cmnd.
Link: https://lore.kernel.org/r/20210809230355.8186-53-bvanassche@acm.org
Cc: Christoph Hellwig <hch>
Cc: Hannes Reinecke <hare>
Cc: Ming Lei <ming.lei>
Signed-off-by: Bart Van Assche <bvanassche>
Signed-off-by: Martin K. Petersen <martin.petersen>
There is a replacement function scsi_cmd_to_rq() addeded by the following commit that provides the information originally stored in the request field:
commit 51f3a478892873337c54068d1185bcd797000a52
Author: Bart Van Assche <bvanassche>
Date: Mon Aug 9 16:03:04 2021 -0700
scsi: core: Introduce the scsi_cmd_to_rq() function
The 'request' member of struct scsi_cmnd is superfluous. The struct request
and struct scsi_cmnd data structures are adjacent and hence the request
pointer can be derived easily from a scsi_cmnd pointer. Introduce a helper
function that performs that conversion in a type-safe way. This patch is
the first step towards removing the request member from struct
scsi_cmnd. Making that change has the following advantages:
- This is a performance optimization since adding an offset to a pointer
takes less time than dereferencing a pointer.
- struct scsi_cmnd becomes smaller.
Link: https://lore.kernel.org/r/20210809230355.8186-2-bvanassche@acm.org
Cc: Christoph Hellwig <hch>
Cc: Hannes Reinecke <hare>
Cc: Ming Lei <ming.lei>
Reviewed-by: Hannes Reinecke <hare>
Need to have the scsi.stp tapset use scsi_cmd_to_rq() in newer kernels (kernel_v >= "5.15") for the various probes and scsi_timer_pending() accessing the request field.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle. Changing version to 39. |