On Wed, May 18 2011 at 8:11am -0400, Mike Snitzer <snitzer@xxxxxxxxxx> wrote: > On Wed, May 18 2011 at 12:49am -0400, > Martin K. Petersen <martin.petersen@xxxxxxxxxx> wrote: > > > > > Integrity errors need to be passed to the owner of the integrity > > metadata for processing. Consequently EILSEQ should be passed up the > > stack. > > > > Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> > > Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> > > > > --- > > > > Ping on this one? > > It has been on my personal queue but I didn't push the issue with > Alasdair (for 2.6.39). > > At this point seems we should be targetting this fix for 2.6.40 but I'll > defer to Alasdair on whether he'd like to push to .39 last minute. Hi Martin, Alasdair and I just chatted about this patch: it will always pass the the -EILSEQ up _without_ performing any mpath path failure. The newfound concern is: is there ever a benefit to failing the path before returning -EILSEQ? Or will -EILSEQ always imply there is nothing wrong with the path? E.g. a transport error cannot cause a CRC error -- the transport error is always trapped by SCSI and cannot result in continued processing of an IO (that goes on to have CRC error)? Thanks, Mike > > > diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c > > index a550a05..aa4e570 100644 > > --- a/drivers/md/dm-mpath.c > > +++ b/drivers/md/dm-mpath.c > > @@ -1290,7 +1290,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) > > + if (error == -EOPNOTSUPP || error == -EREMOTEIO || error == -EILSEQ) > > return error; > > > > if (mpio->pgpath) > > -- > dm-devel mailing list > dm-devel@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/dm-devel -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel