svn commit: r344407 - head/sys/fs/fuse
Conrad Meyer
cem at FreeBSD.org
Thu Feb 21 02:41:58 UTC 2019
Author: cem
Date: Thu Feb 21 02:41:57 2019
New Revision: 344407
URL: https://svnweb.freebsd.org/changeset/base/344407
Log:
fuse: Fix a regression introduced in r337165
On systems with non-default DFLTPHYS and/or MAXBSIZE, FUSE would attempt to
use a buf cache block size in excess of permitted size. This did not affect
most configurations, since DFLTPHYS and MAXBSIZE both default to 64kB.
The issue was discovered and reported using a custom kernel with a DFLTPHYS
of 512kB.
PR: 230260 (comment #9)
Reported by: ken@
MFC after: π/𝑒 weeks
Modified:
head/sys/fs/fuse/fuse_vfsops.c
Modified: head/sys/fs/fuse/fuse_vfsops.c
==============================================================================
--- head/sys/fs/fuse/fuse_vfsops.c Thu Feb 21 02:37:01 2019 (r344406)
+++ head/sys/fs/fuse/fuse_vfsops.c Thu Feb 21 02:41:57 2019 (r344407)
@@ -338,7 +338,7 @@ fuse_vfsop_mount(struct mount *mp)
mp->mnt_kern_flag |= MNTK_USES_BCACHE;
MNT_IUNLOCK(mp);
/* We need this here as this slot is used by getnewvnode() */
- mp->mnt_stat.f_iosize = DFLTPHYS;
+ mp->mnt_stat.f_iosize = MIN(DFLTPHYS, MAXBSIZE);
if (subtype) {
strlcat(mp->mnt_stat.f_fstypename, ".", MFSNAMELEN);
strlcat(mp->mnt_stat.f_fstypename, subtype, MFSNAMELEN);
More information about the svn-src-all
mailing list