Bug 155932

Summary: [RHEL4-U2][Diskdump] hangs when SCSI drive is busy
Product: Red Hat Enterprise Linux 4 Reporter: Yuuichi Nagahama <nagahama>
Component: kernelAssignee: Nobuhiro Tachino <ntachino>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: aimamura, davej, halligan, kmori, nagahama, ntachino, poelstra, tao, tburke, tuchida
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHSA-2005-514 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-10-05 13:03:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 156322    

Description Yuuichi Nagahama 2005-04-25 20:50:37 UTC
Description of problem:
Diskdump doesn't check a SCSI command return value.
Please see send_command in drivers/scsi/scsi_dump.c.

spin_lock(host->host_lock);
host->hostt->queuecommand(scmd, rw_intr);   <<< here >>>
spin_unlock(host->host_lock);

while (scmd->done != NULL) {
       host->hostt->dump_poll(scmd->device);
       udelay(100);
       diskdump_update();
}

Diskdump waits for completion of the command invoked previously
regardless of a return value of queuecommand.

SCSI driver might return busy because of a temporary failure of SCSI
driver. If SCSI driver returns busy, diskdump waits for completion
of the command permanently. So diskdump will hang up.

I think diskdump should check a return value of queuecommand.
When SCSI drive is busy, a command should be invoked again.

Version-Release number :
kernel-2.6.9-5.0.3.EL

How reproducible:
sometimes

Steps to Reproduce:
This problem happens because of external factor.
For example, temporary trouble of device.

Actual results:
dump fail

Expected results:
dump succeed

Additional info:
none

Comment 13 Red Hat Bugzilla 2005-10-05 13:03:07 UTC
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 the 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-2005-514.html