Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 682265 - [RHEL 6] libsas: flush initial device discovery before completing ->scan_finished()
[RHEL 6] libsas: flush initial device discovery before completing ->scan_fini...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.1
All Linux
unspecified Severity medium
: rc
: ---
Assigned To: David Milburn
Gris Ge
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-03-04 11:17 EST by David Milburn
Modified: 2011-05-19 08:00 EDT (History)
7 users (show)

See Also:
Fixed In Version: kernel-2.6.32-130.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-05-19 08:00:32 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0542 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 6.1 kernel security, bug fix and enhancement update 2011-05-19 07:58:07 EDT

  None (edit)
Description David Milburn 2011-03-04 11:17:15 EST
It is possible that all initial discovery events have not completed
during scsi scan, DISCE_DISCOVER_DOMAIN events are queued up in sas_form_port
while processing the PORTE_BYTES_DMAED events.

Posted upstream:

http://marc.info/?l=linux-scsi&m=129791077719331&w=2

During initial scan libsas drivers start their phys and notify libsas
with PORTE_BYTES_DMAED events as port links are established.  This
notification in turn causes libsas to post DISCE_DISCOVER_DOMAIN events
to the queue.  Calling scsi_flush_work() at the end of scan_finished
guarantees that all preceding PORTE_BYTES_DMAED events have been
registered in the queue, but it does not guarantee that the resulting
DISCE_DISCOVER_DOMAIN events have been processed because
flush_workqueue() explicitly avoids live-locking with incoming work.

Introduce sas_flush_discovery() to guarantee that all initial discovery
events have completed.  It is called after the driver determines all
initial PORTE_BYTES_DMAED events have had a chance to enter the queue.
This does not cover BCNs that are generated during expander bring up,
only the initial sas_discover_domain() event.
Comment 3 RHEL Product and Program Management 2011-03-04 12:19:45 EST
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has 
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed 
products. This request is not yet committed for inclusion in an Update release.
Comment 4 Aristeu Rozanski 2011-04-07 09:50:02 EDT
Patch(es) available on kernel-2.6.32-130.el6
Comment 8 errata-xmlrpc 2011-05-19 08:00:32 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0542.html

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