• Matthew Wilcox's avatar
    [SCSI] Add missing completion to scsi_complete_async_scans() · 8bcc2412
    Matthew Wilcox authored
    If either scsi_complete_async_scans() is called a second time
    before the first call has finished, or a host scan is started while
    scsi_complete_async_scans() is still sleeping, it would fail to wake up
    the other task, which would sleep forever.
    
    I've changed the kernel-doc to make it clear that
    scsi_complete_async_scans() only guarantees that scans which started
    before it was called are guaranteed to have finished when it returns.
    I considered making it wait until all scans are completed, but it can't
    guarantee that no more scans will start before it returns anyway, and it
    runs the risk of confusing other callers of scsi_complete_async_scans()
    for hosts actually scanning.
    Signed-off-by: default avatarMatthew Wilcox <matthew@wil.cx>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    8bcc2412
scsi_scan.c 51.3 KB