diff options
-rw-r--r-- | sys/kern/kern_physio.c | 1 | ||||
-rw-r--r-- | sys/kern/subr_disk.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c index 6bf3e7f..95ffc92 100644 --- a/sys/kern/kern_physio.c +++ b/sys/kern/kern_physio.c @@ -178,6 +178,7 @@ minphys(bp) if(!maxphys) { printf("WARNING: %s maxphys = 0 ??", devtoname(bp->b_dev)); maxphys = DFLTPHYS; + bp->b_dev->si_iosize_max = DFLTPHYS; } if (bp->b_kvasize && (bp->b_kvasize < maxphys)) maxphys = bp->b_kvasize; diff --git a/sys/kern/subr_disk.c b/sys/kern/subr_disk.c index 9c53bde..79d38f2 100644 --- a/sys/kern/subr_disk.c +++ b/sys/kern/subr_disk.c @@ -116,7 +116,8 @@ diskopen(dev_t dev, int oflags, int devtype, struct proc *p) return (ENXIO); if (!dsisopen(dp->d_slice)) { - pdev->si_iosize_max = dev->si_iosize_max; + if (!pdev->si_iosize_max) + pdev->si_iosize_max = dev->si_iosize_max; error = dp->d_devsw->d_open(pdev, oflags, devtype, p); } |