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

Steven Hartland steven at multiplay.co.uk
Thu Dec 25 21:32:55 UTC 2014


I checked when I initially investigated the issue and it was added when 
ZFS boot support was originally incorporated into Solaris.

FreeBSD's ZFS boot support outstrips illumos upstream, not even 
requiring the cache file, and when initially discussed with others it 
was thought the most likely reason for the conditional was some sort of 
incompatibility with their original implementation.

I've already raised the issue upstream 
(https://www.illumos.org/issues/5472) so if anything comes of that I'll 
update.

In the mean time I've not been able to produce any issues with the 
change, even after sitting in our production tree for a number of 
months, and it does fix the issues reported by others due to out of date 
cache files.

     Regards
     Steve

On 25/12/2014 21:10, Will Andrews wrote:
> Why was the original condition there? It may not be documented in a 
> commenf, but presumably there is a reason. Did you ask the original 
> author of the code in question?
>
> --Will.
>
>
> On Tuesday, December 23, 2014, Steven Hartland <smh at freebsd.org 
> <mailto:smh at freebsd.org>> 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);
>



More information about the svn-src-all mailing list