]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC: r290970
authorrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 1 Dec 2015 02:30:41 +0000 (02:30 +0000)
committerrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 1 Dec 2015 02:30:41 +0000 (02:30 +0000)
commit3a2c0850d3a12f9ba800b74209df3660eaa39234
treece737d375df39c6ef3617b5a6f73069fe671cf1b
parent1a91fa8cff657cc5ce665254c6a05db424c751c6
MFC: r290970
mnt_stat.f_iosize (which is used to set bo_bsize) must be set to
the largest size of buffer cache block or the mapping of the buffer
is bogus. When a mount with rsize=4096,wsize=4096 was done, f_iosize
would be set to 4096. This resulted in corrupted directory data, since
the buffer cache block size for directories is NFS_DIRBLKSIZ (8192).
This patch fixes the code so that it always sets f_iosize to at least
NFS_DIRBLKSIZ.

git-svn-id: svn://svn.freebsd.org/base/stable/10@291551 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/fs/nfsclient/nfs_clvfsops.c