svn commit: r286223 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Slawa Olhovchenkov slw at zxy.spb.ru
Mon Aug 3 09:47:39 UTC 2015


On Mon, Aug 03, 2015 at 09:34:10AM +0000, Steven Hartland wrote:

> Author: smh
> Date: Mon Aug  3 09:34:09 2015
> New Revision: 286223
> URL: https://svnweb.freebsd.org/changeset/base/286223
> 
> Log:
>   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.

/usr/src/sys/kern/kern_proc.c:int kstack_pages = KSTACK_PAGES;

May be check variable kstack_pages is best way?
Eliminate dependency on foreign opt_XXXX.


>   MFC after:	3 days
>   Sponsored by:	Multiplay
> 
> Modified:
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
> 
> 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	Mon Aug  3 08:04:31 2015	(r286222)
> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Mon Aug  3 09:34:09 2015	(r286223)
> @@ -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,18 +6494,22 @@ 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");
>  
>  	mutex_init(&zfs_share_lock, NULL, MUTEX_DEFAULT, NULL);
> _______________________________________________
> svn-src-all at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"


More information about the svn-src-head mailing list