svn commit: r285946 - in head: . sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Steven Hartland smh at FreeBSD.org
Tue Jul 28 11:19:40 UTC 2015


Author: smh
Date: Tue Jul 28 11:19:38 2015
New Revision: 285946
URL: https://svnweb.freebsd.org/changeset/base/285946

Log:
  Add warning about low KSTACK_PAGES for ZFS use
  
  As ZFS requires a more kernel stack pages than is the default on some
  architectures e.g. i386, warn if KSTACK_PAGES is less than
  ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing).
  
  MFC after:	3 days
  Sponsored by:	Multiplay

Modified:
  head/UPDATING
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Tue Jul 28 10:31:34 2015	(r285945)
+++ head/UPDATING	Tue Jul 28 11:19:38 2015	(r285946)
@@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20150728:
+	As ZFS requires a 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.
+
 20150706:
 	sendmail has been updated to 8.15.2.  Starting with FreeBSD 11.0
 	and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Tue Jul 28 10:31:34 2015	(r285945)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Tue Jul 28 11:19:38 2015	(r285946)
@@ -6491,10 +6491,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-head mailing list