[dm-devel] [PATCH] dm mpath: do not fail path on -ENOSPC

Jun'ichi Nomura j-nomura at ce.jp.nec.com
Fri Sep 13 05:54:30 UTC 2013


Since ENOSPC is a target-side error, dm-mpath should just pass the error
information to upper layer instead of retrying itself with path failover.
Otherwise it will end up failing all paths down while path checkers find
all paths ok.

ENOSPC can now be returned from SCSI device after commit a9d6ceb8
("[SCSI] return ENOSPC on thin provisioning failure").

Signed-off-by: Jun'ichi Nomura <j-nomura at ce.jp.nec.com>
Cc: Hannes Reinecke <hare at suse.de>
---
 drivers/md/dm-mpath.c | 1 +
 1 file changed, 1 insertion(+)

The patch is not actually tested as I don't have such a storage at my hand.
Hannes, please let me know if you didn't change noretry_error() intentionally.

diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index b759a12..075747e 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -1268,6 +1268,7 @@ static int noretry_error(int error)
 	case -EREMOTEIO:
 	case -EILSEQ:
 	case -ENODATA:
+	case -ENOSPC:
 		return 1;
 	}
 




More information about the dm-devel mailing list