Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 309651
b: refs/heads/master
c: b7e94a1
h: refs/heads/master
i:
  309649: ece4e73
  309647: 09ebd3c
v: v3
  • Loading branch information
Jun'ichi Nomura authored and James Bottomley committed May 23, 2012
1 parent d432184 commit b7ec06a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4886b1afee5aaccc2fb3202620a5608caf0c9284
refs/heads/master: b7e94a1686c5daef4f649f7f4f839cc294f07710
11 changes: 7 additions & 4 deletions trunk/drivers/scsi/scsi_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1378,16 +1378,19 @@ static int scsi_lld_busy(struct request_queue *q)
{
struct scsi_device *sdev = q->queuedata;
struct Scsi_Host *shost;
struct scsi_target *starget;

if (!sdev)
return 0;

shost = sdev->host;
starget = scsi_target(sdev);

if (scsi_host_in_recovery(shost) || scsi_host_is_busy(shost) ||
scsi_target_is_busy(starget) || scsi_device_is_busy(sdev))
/*
* Ignore host/starget busy state.
* Since block layer does not have a concept of fairness across
* multiple queues, congestion of host/starget needs to be handled
* in SCSI layer.
*/
if (scsi_host_in_recovery(shost) || scsi_device_is_busy(sdev))
return 1;

return 0;
Expand Down

0 comments on commit b7ec06a

Please sign in to comment.