Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Dec 2014 18:12:24 -0800
From:      Xin Li <delphij@delphij.net>
To:        Steven Hartland <smh@FreeBSD.org>, src-committers@freebsd.org,  svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r276123 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <54A35B88.9090102@delphij.net>
In-Reply-To: <201412230931.sBN9VPMK017968@svn.freebsd.org>
References:  <201412230931.sBN9VPMK017968@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/23/14 01:31, Steven Hartland wrote:
> Author: smh
> Date: Tue Dec 23 09:31:24 2014
> New Revision: 276123
> URL: https://svnweb.freebsd.org/changeset/base/276123
> 
> Log:
>   Always sync the global ZFS config cache to reflect the new mosconfig
>   
>   This fixes out of date zpool.cache for root pools, which can cause issues
>   such as confusion of zdb etc.
>   
>   MFC after:	1 month
> 
> Modified:
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c
> 
> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c
> ==============================================================================
> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c	Tue Dec 23 08:51:30 2014	(r276122)
> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c	Tue Dec 23 09:31:24 2014	(r276123)
> @@ -536,8 +536,7 @@ spa_config_update(spa_t *spa, int what)
>  	/*
>  	 * Update the global config cache to reflect the new mosconfig.
>  	 */
> -	if (!spa->spa_is_root)
> -		spa_config_sync(spa, B_FALSE, what != SPA_CONFIG_UPDATE_POOL);
> +	spa_config_sync(spa, B_FALSE, what != SPA_CONFIG_UPDATE_POOL);
>  
>  	if (what == SPA_CONFIG_UPDATE_POOL)
>  		spa_config_update(spa, SPA_CONFIG_UPDATE_VDEVS);

It seems like that this change breaks systems where not all pools are
available (e.g. some of pools are encrypted) at boot time, by removing
all these pools from the cache file.

As a result, on the next boot, these pools would not be imported even
when the devices are available (geli attached), and reverting this
change would restore the system to its previous behavior.

Perhaps it have exposed an existing bug?

Cheers,
-- 
Xin LI <delphij@delphij.net>    https://www.delphij.net/
FreeBSD - The Power to Serve!           Live free or die



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54A35B88.9090102>