Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Feb 2019 02:41:58 +0000 (UTC)
From:      Conrad Meyer <cem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r344407 - head/sys/fs/fuse
Message-ID:  <201902210241.x1L2fwrk084129@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201902210241.x1L2fwrk084129>