diff options
author | sos <sos@FreeBSD.org> | 1999-10-02 20:21:49 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 1999-10-02 20:21:49 +0000 |
commit | e0a8247d1d09cdf0b9ba3dbb2fff09a2af150a70 (patch) | |
tree | cb61f283dd55dffb030c569f6c8fec7ca9fbea6f /sys/kern | |
parent | 784f8a85633f91547b04e7c8be6dad00fd212db2 (diff) | |
download | FreeBSD-src-e0a8247d1d09cdf0b9ba3dbb2fff09a2af150a70.zip FreeBSD-src-e0a8247d1d09cdf0b9ba3dbb2fff09a2af150a70.tar.gz |
In some drivers we use two devices to be able to boot.
So if si_iosize_max is allready set, dont mess with it..
Also just log the problem with maxphys not being set once.
designed by: phk
tested by: sos
Diffstat (limited to 'sys/kern')
-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); } |