Fix wrong LUN reference in XCOPY block-to-block operation.

This could cause data corruption due to accessing wrong LUN in case of
retries on write errors.  Failed writes were retried to read LUN.

MFC after:	3 days
This commit is contained in:
mav 2015-01-24 15:40:52 +00:00
parent 7cbc6347a2
commit 19d04ba8a1

View File

@ -916,7 +916,7 @@ tpc_process_b2b(struct tpc_list *list)
/*control*/ 0); /*control*/ 0);
tiow->io->io_hdr.retries = 3; tiow->io->io_hdr.retries = 3;
tiow->lun = dl; tiow->lun = dl;
tiow->io->io_hdr.ctl_private[CTL_PRIV_FRONTEND].ptr = tior; tiow->io->io_hdr.ctl_private[CTL_PRIV_FRONTEND].ptr = tiow;
TAILQ_INSERT_TAIL(&tior->run, tiow, rlinks); TAILQ_INSERT_TAIL(&tior->run, tiow, rlinks);
TAILQ_INSERT_TAIL(prun, tior, rlinks); TAILQ_INSERT_TAIL(prun, tior, rlinks);