DF-2067 / fix.diff
diff --git a/sys/dev/raid/mfi/mfi_syspd.c b/sys/dev/raid/mfi/mfi_syspd.c --- a/sys/dev/raid/mfi/mfi_syspd.c +++ b/sys/dev/raid/mfi/mfi_syspd.c @@ -132,8 +132,8 @@ sc->pd_dev_t = disk_create(sc->pd_unit, &sc->pd_disk, &mfi_syspd_ops); sc->pd_dev_t->si_drv1 = sc; - sc->pd_dev_t->si_iosize_max = sc->pd_controller->mfi_max_io * - secsize; + sc->pd_dev_t->si_iosize_max = min(sc->pd_controller->mfi_max_io * + secsize, (sc->pd_controller->mfi_max_sge - 1) * PAGE_SIZE); bzero(&info, sizeof(info)); info.d_media_blksize = secsize; /* mandatory */ |