aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/nvdimm
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2018-12-23 19:14:31 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2018-12-23 19:14:31 +0000
commitcbbdd2831800b21813f0f0decb27269131367463 (patch)
tree5ef5ae2133172a1e8bc881e9b5ba48733ab57bb5 /sys/dev/nvdimm
parent8690d4dea39ddb381aba0a602e47eaf040907462 (diff)
Notes
Diffstat (limited to 'sys/dev/nvdimm')
-rw-r--r--sys/dev/nvdimm/nvdimm_spa.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/nvdimm/nvdimm_spa.c b/sys/dev/nvdimm/nvdimm_spa.c
index 9737b5e0271e..7784450bea21 100644
--- a/sys/dev/nvdimm/nvdimm_spa.c
+++ b/sys/dev/nvdimm/nvdimm_spa.c
@@ -337,8 +337,10 @@ nvdimm_spa_g_thread(void *arg)
auio.uio_td = curthread;
error = uiomove_fromphys(bp->bio_ma,
bp->bio_ma_offset, bp->bio_length, &auio);
+ bp->bio_resid = auio.uio_resid;
} else {
nvdimm_spa_g_all_unmapped(spa, bp, bp->bio_cmd);
+ bp->bio_resid = bp->bio_length;
error = 0;
}
} else {
@@ -353,7 +355,9 @@ nvdimm_spa_g_thread(void *arg)
UIO_WRITE;
auio.uio_td = curthread;
error = nvdimm_spa_uio(spa, &auio);
+ bp->bio_resid = auio.uio_resid;
}
+ bp->bio_bcount = bp->bio_length;
devstat_end_transaction_bio(spa->spa_g_devstat, bp);
completed:
bp->bio_completed = bp->bio_length;