Project

General

Profile

Bug #7743

per-vdev-zaps have no initialize path on upgrade

Added by Prakash Surya over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
2017-01-06
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

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.

History

#1

Updated by Electric Monk over 2 years ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

git commit 555da5111b0f2552c42d057b211aba89c9c79f6c

commit  555da5111b0f2552c42d057b211aba89c9c79f6c
Author: Paul Dagnelie <pcd@delphix.com>
Date:   2017-01-12T03:04:49.000Z

    7743 per-vdev-zaps have no initialize path on upgrade
    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>

Also available in: Atom PDF