Hyper-V: drivers:scsi:storvsc: Fix a bug in handling ring buffer failures that may result in I/O freeze
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Andy Whitcroft | ||
Precise |
Fix Released
|
High
|
Andy Whitcroft | ||
Trusty |
Fix Released
|
High
|
Andy Whitcroft | ||
Utopic |
Fix Released
|
High
|
Andy Whitcroft | ||
Vivid |
Fix Released
|
High
|
Andy Whitcroft |
Bug Description
As requested by Microsoft.
===
Andy,
Could you pick up this patch. Customers are hitting this issue on Azure (on Canonical images).
Regards,
K. Y
===
drivers:
When ring buffer returns an error indicating retry, storvsc may not return a proper error code to SCSI when bounce buffer is not used. This has introduced I/O freeze on RAID running atop storvsc devices. This patch fixes it by always returning a proper error code.
Signed-off-by: Long Li <email address hidden>
Reviewed-by: K. Y. Srinivasan <email address hidden>
---
drivers/
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/
index e3ba251..4cff0dd 100644
--- a/drivers/
+++ b/drivers/
@@ -1688,13 +1688,12 @@ static int storvsc_
if (ret == -EAGAIN) {
/* no more space */
- if (cmd_request-
+ if (cmd_request-
- ret = SCSI_MLQUEUE_
- goto queue_error;
- }
+ ret = SCSI_MLQUEUE_
+ goto queue_error;
}
return 0;
Changed in linux (Ubuntu): | |
status: | Incomplete → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Andy Whitcroft (apw) |
Changed in linux (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu): | |
status: | Triaged → Fix Committed |
Changed in linux (Ubuntu): | |
milestone: | none → ubuntu-15.01 |
Changed in linux (Ubuntu Precise): | |
status: | New → In Progress |
Changed in linux (Ubuntu Trusty): | |
status: | New → In Progress |
Changed in linux (Ubuntu Utopic): | |
status: | New → Fix Committed |
status: | Fix Committed → In Progress |
importance: | Undecided → High |
Changed in linux (Ubuntu Trusty): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Precise): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Utopic): | |
assignee: | nobody → Andy Whitcroft (apw) |
Changed in linux (Ubuntu Trusty): | |
assignee: | nobody → Andy Whitcroft (apw) |
Changed in linux (Ubuntu Precise): | |
assignee: | nobody → Andy Whitcroft (apw) |
Changed in linux (Ubuntu Precise): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Utopic): | |
status: | In Progress → Fix Committed |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1400289
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.