]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
7743 per-vdev-zaps have no initialize path on upgrade
authorAndriy Gapon <avg@FreeBSD.org>
Fri, 14 Apr 2017 18:13:06 +0000 (18:13 +0000)
committerAndriy Gapon <avg@FreeBSD.org>
Fri, 14 Apr 2017 18:13:06 +0000 (18:13 +0000)
commit768d3677f6980d037db88440f102c302a7ee267c
tree91ed34104977364dd2096a6a18a86efc37f44f11
parent2bb93dd84d3ed53802f074edcd813413bb3ba33f
7743 per-vdev-zaps have no initialize path on upgrade

illumos/illumos-gate@555da5111b0f2552c42d057b211aba89c9c79f6c
https://github.com/illumos/illumos-gate/commit/555da5111b0f2552c42d057b211aba89c9c79f6c

https://www.illumos.org/issues/7743
  When loading a pool that had been created before the existance of
  per-vdev zaps, on a system that knows about per-vdev zaps, the
  per-vdev zaps will not be allocated and initialized.
  This appears to be because the logic that would have done so, in
  spa_sync_config_object(), is not reached under normal operation. It is
  only reached if spa_config_dirty_list is non-empty.
  The fix is to add another `AVZ_ACTION_` enum that will allow this code
  to be reached when we detect that we're loading an old pool, even when
  there are no dirty configs.

Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Don Brady <don.brady@intel.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Paul Dagnelie <pcd@delphix.com>
uts/common/fs/zfs/spa.c
uts/common/fs/zfs/sys/spa_impl.h