Patchwork [3/5] scsi: Correctly handle thin provisioning write error

login
register
mail settings
Submitter Martin K. Petersen
Date Nov. 26, 2009, 5 p.m.
Message ID <1259254843-8326-4-git-send-email-martin.petersen@oracle.com>
Download mbox | patch
Permalink /patch/39570/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Martin K. Petersen - Nov. 26, 2009, 5 p.m.
A thin provisioned device may temporarily be out of sufficient
allocation units to fulfill a write request.  In that case it will
return a space allocation in progress error.  Wait a bit and retry the
write.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
---
 drivers/scsi/scsi_lib.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Patch

diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 5987da8..dd12183 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -859,6 +859,7 @@  void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
 				case 0x07: /* operation in progress */
 				case 0x08: /* Long write in progress */
 				case 0x09: /* self test in progress */
+				case 0x14: /* space allocation in progress */
 					action = ACTION_DELAYED_RETRY;
 					break;
 				default: