svn commit: r353716 - stable/12/sys/kern

Kristof Provost kp at FreeBSD.org
Fri Oct 18 03:38:02 UTC 2019


Author: kp
Date: Fri Oct 18 03:38:01 2019
New Revision: 353716
URL: https://svnweb.freebsd.org/changeset/base/353716

Log:
  MFC r353443
  
  mountroot: run statfs after mounting devfs
  
  The usual flow for mounting a file system is to VFS_MOUNT() and then
  immediately VFS_STATFS().
  
  That's not done in vfs_mountroot_devfs(), which means the
  mp->mnt_stat.f_iosize field is not correctly populated, which in turn
  causes us to mark valid aio operations as unsafe (because the io size is
  set to 0), ultimately causing the aio_test:md_waitcomplete test to fail.
  
  Sponsored by:	Axiado

Modified:
  stable/12/sys/kern/vfs_mountroot.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/kern/vfs_mountroot.c
==============================================================================
--- stable/12/sys/kern/vfs_mountroot.c	Fri Oct 18 03:36:26 2019	(r353715)
+++ stable/12/sys/kern/vfs_mountroot.c	Fri Oct 18 03:38:01 2019	(r353716)
@@ -262,6 +262,11 @@ vfs_mountroot_devfs(struct thread *td, struct mount **
 		if (error)
 			return (error);
 
+		error = VFS_STATFS(mp, &mp->mnt_stat);
+		KASSERT(error == 0, ("VFS_STATFS(devfs) failed %d", error));
+		if (error)
+			return (error);
+
 		opts = malloc(sizeof(struct vfsoptlist), M_MOUNT, M_WAITOK);
 		TAILQ_INIT(opts);
 		mp->mnt_opt = opts;


More information about the svn-src-all mailing list