aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs/ffs
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>2002-03-30 15:12:57 +0000
committerBruce Evans <bde@FreeBSD.org>2002-03-30 15:12:57 +0000
commit0508986cce4ad99ac81665c69c7637ca25a42415 (patch)
treefe791bc357d13ac95ee46cc3f299fddf14d3cc8e /sys/ufs/ffs
parent4d09bd65bd93f350ea184885e2ee7912813161dd (diff)
downloadsrc-0508986cce4ad99ac81665c69c7637ca25a42415.tar.gz
src-0508986cce4ad99ac81665c69c7637ca25a42415.zip
In ffs_mountffs(), set mnt_iosize_max to si_iosize_max unconditionally
provided the latter is nonzero. At this point, the former is a fairly arbitrary default value (DFTPHYS), so changing it to any reasonable value specified by the device driver is safe. Using the maximum of these limits broke ffs clustered i/o for devices whose si_iosize_max is < DFLTPHYS. Using the minimum would break device drivers' ability to increase the active limit from DFTLPHYS up to MAXPHYS. Copied the code for this and the associated (unnecessary?) fixup of mp_iosize_max to all other filesystems that use clustering (ext2fs and msdosfs). It was completely missing. PR: 36309 MFC-after: 1 week
Notes
Notes: svn path=/head/; revision=93430
Diffstat (limited to 'sys/ufs/ffs')
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
index 74b40c5622f8..67c77728facd 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -603,7 +603,7 @@ ffs_mountfs(devvp, mp, td, malloctype)
VOP_UNLOCK(devvp, 0, td);
if (error)
return (error);
- if (devvp->v_rdev->si_iosize_max > mp->mnt_iosize_max)
+ if (devvp->v_rdev->si_iosize_max != 0)
mp->mnt_iosize_max = devvp->v_rdev->si_iosize_max;
if (mp->mnt_iosize_max > MAXPHYS)
mp->mnt_iosize_max = MAXPHYS;