svn commit: r286120 - in stable/10: . sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Steven Hartland smh at FreeBSD.org
Fri Jul 31 09:43:09 UTC 2015


Author: smh
Date: Fri Jul 31 09:43:07 2015
New Revision: 286120
URL: https://svnweb.freebsd.org/changeset/base/286120

Log:
  MFC: r285946 and r285947
  
  Add warning about low KSTACK_PAGES for ZFS use.
  
  Sponsored by:	Multiplay

Modified:
  stable/10/UPDATING
  stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/UPDATING
==============================================================================
--- stable/10/UPDATING	Fri Jul 31 09:28:49 2015	(r286119)
+++ stable/10/UPDATING	Fri Jul 31 09:43:07 2015	(r286120)
@@ -16,6 +16,14 @@ from older versions of FreeBSD, try WITH
 stable/10, and then rebuild without this option. The bootstrap process from
 older version of current is a bit fragile.
 
+20150731:
+	As ZFS requires more kernel stack pages than is the default on some
+	architectures e.g. i386, it now warns if KSTACK_PAGES is less than
+	ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing).
+
+	Please consider using 'options KSTACK_PAGES=X' where X is greater
+	than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations.
+
 20150703:
 	The default Unbound configuration now enables remote control
 	using a local socket.  Users who have already enabled the

Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Fri Jul 31 09:28:49 2015	(r286119)
+++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Fri Jul 31 09:43:07 2015	(r286120)
@@ -6493,10 +6493,18 @@ static void zfs_shutdown(void *, int);
 
 static eventhandler_tag zfs_shutdown_event_tag;
 
+#define ZFS_MIN_KSTACK_PAGES 4
+
 int
 zfs__init(void)
 {
 
+#if KSTACK_PAGES < ZFS_MIN_KSTACK_PAGES
+	printf("ZFS NOTICE: KSTACK_PAGES is %d which could result in stack "
+	    "overflow panic!\nPlease consider adding "
+	    "'options KSTACK_PAGES=%d' to your kernel config\n", KSTACK_PAGES,
+	    ZFS_MIN_KSTACK_PAGES);
+#endif
 	zfs_root_token = root_mount_hold("ZFS");
 
 	mutex_init(&zfs_share_lock, NULL, MUTEX_DEFAULT, NULL);


More information about the svn-src-stable-10 mailing list