Re: [PATCH 4/5] scsi: Return ENODATA on medium error

2013-07-01 Thread Jun'ichi Nomura
On 07/01/13 17:12, Hannes Reinecke wrote:
 When a medium error is detected the SCSI stack should return
 ENODATA to the upper layers.

Hi Hannes,

since you change the error code from -EREMOTEIO to -ENODATA/-ENOSPC,
upper layers that checks -EREMOTEIO have to be updated as well.

Something like below for dm-multipath.
It seems btrfs checking -EREMOTEIO, too.

-- 
Jun'ichi Nomura, NEC Corporation

diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index bdf26f5..15bf881 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -1261,6 +1261,21 @@ static void activate_path(struct work_struct *work)
pg_init_done, pgpath);
 }
 
+static int maybe_path_failure(int error)
+{
+   switch(error) {
+   case -EOPNOTSUPP:
+   case -EREMOTEIO:
+   case -EILSEQ:
+   case -ENOSPC:
+   case -ENODATA:
+   return 0;
+   }
+
+   /* Anything else could be a path failure */
+   return 1;
+}
+
 /*
  * end_io handling
  */
@@ -1284,7 +1299,7 @@ static int do_end_io(struct multipath *m, struct request 
*clone,
if (!error  !clone-errors)
return 0;   /* I/O complete */
 
-   if (error == -EOPNOTSUPP || error == -EREMOTEIO || error == -EILSEQ)
+   if (!maybe_path_failure(error))
return error;
 
if (mpio-pgpath)
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/5] scsi: Return ENODATA on medium error

2013-07-01 Thread Hannes Reinecke
On 07/01/2013 11:12 AM, Jun'ichi Nomura wrote:
 On 07/01/13 17:12, Hannes Reinecke wrote:
 When a medium error is detected the SCSI stack should return
 ENODATA to the upper layers.
 
 Hi Hannes,
 
 since you change the error code from -EREMOTEIO to -ENODATA/-ENOSPC,
 upper layers that checks -EREMOTEIO have to be updated as well.
 
 Something like below for dm-multipath.
 It seems btrfs checking -EREMOTEIO, too.
 
Good point.

Will be updating the patchset.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke   zSeries  Storage
h...@suse.de  +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html