aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/cam/ctl/ctl_tpc.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/cam/ctl/ctl_tpc.c b/sys/cam/ctl/ctl_tpc.c
index 490cddd510b7..662ee3d064a0 100644
--- a/sys/cam/ctl/ctl_tpc.c
+++ b/sys/cam/ctl/ctl_tpc.c
@@ -817,7 +817,7 @@ tpc_process_b2b(struct tpc_list *list)
struct scsi_ec_segment_b2b *seg;
struct scsi_ec_cscd_dtsp *sdstp, *ddstp;
struct tpc_io *tior, *tiow;
- struct runl run, *prun;
+ struct runl run;
uint64_t sl, dl;
off_t srclba, dstlba, numbytes, donebytes, roundbytes;
int numlba;
@@ -889,8 +889,7 @@ tpc_process_b2b(struct tpc_list *list)
list->segsectors = numbytes / dstblock;
donebytes = 0;
TAILQ_INIT(&run);
- prun = &run;
- list->tbdio = 1;
+ list->tbdio = 0;
while (donebytes < numbytes) {
roundbytes = numbytes - donebytes;
if (roundbytes > TPC_MAX_IO_SIZE) {
@@ -942,8 +941,8 @@ tpc_process_b2b(struct tpc_list *list)
tiow->io->io_hdr.ctl_private[CTL_PRIV_FRONTEND].ptr = tiow;
TAILQ_INSERT_TAIL(&tior->run, tiow, rlinks);
- TAILQ_INSERT_TAIL(prun, tior, rlinks);
- prun = &tior->run;
+ TAILQ_INSERT_TAIL(&run, tior, rlinks);
+ list->tbdio++;
donebytes += roundbytes;
srclba += roundbytes / srcblock;
dstlba += roundbytes / dstblock;