Fix KSTACK_PAGES check in ZFS module

The check introduced by r285946 failed to add the dependency on
opt_kstack_pages.h which meant the default value for the platform instead
of the customised options KSTACK_PAGES=X was being tested.

Also wrap in #ifdef __FreeBSD__ for portability.

MFC after:	3 days
Sponsored by:	Multiplay
This commit is contained in:
smh 2015-08-03 09:34:09 +00:00
parent c2712ff846
commit 771309151e

View File

@ -132,6 +132,9 @@
* distinguish between the operation failing, and
* deserialization failing.
*/
#ifdef __FreeBSD__
#include "opt_kstack_pages.h"
#endif
#include <sys/types.h>
#include <sys/param.h>
@ -6491,17 +6494,21 @@ static void zfs_shutdown(void *, int);
static eventhandler_tag zfs_shutdown_event_tag;
#ifdef __FreeBSD__
#define ZFS_MIN_KSTACK_PAGES 4
#endif
int
zfs__init(void)
{
#ifdef __FreeBSD__
#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
#endif
zfs_root_token = root_mount_hold("ZFS");