summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2017-08-01 13:07:54 +0000
committermav <mav@FreeBSD.org>2017-08-01 13:07:54 +0000
commitc297328b55d9992625f27a8c8c7ed41d0b5691bc (patch)
tree9a505afda7c376016815432324a9eb7f28003880
parent30f3c1db8424cd2a057c4edc318534b0ff02d927 (diff)
downloadFreeBSD-src-c297328b55d9992625f27a8c8c7ed41d0b5691bc.zip
FreeBSD-src-c297328b55d9992625f27a8c8c7ed41d0b5691bc.tar.gz
MFC r320495: Allow status aggregation for ramdisk reads.
-rw-r--r--sys/cam/ctl/ctl_backend_ramdisk.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_backend_ramdisk.c b/sys/cam/ctl/ctl_backend_ramdisk.c
index 837d501..3b982a7 100644
--- a/sys/cam/ctl/ctl_backend_ramdisk.c
+++ b/sys/cam/ctl/ctl_backend_ramdisk.c
@@ -525,6 +525,11 @@ nospc:
io->scsiio.kern_sg_entries = sgs;
io->io_hdr.flags |= CTL_FLAG_ALLOCATED;
PRIV(io)->len += lbas;
+ if ((ARGS(io)->flags & CTL_LLF_READ) &&
+ ARGS(io)->len <= PRIV(io)->len) {
+ ctl_set_success(&io->scsiio);
+ ctl_serseq_done(io);
+ }
#ifdef CTL_TIME_IO
getbinuptime(&io->io_hdr.dma_start_bt);
#endif
OpenPOWER on IntegriCloud