HomeFreeBSD

Update spare and cache device names on import

Description

Update spare and cache device names on import

During 'zpool import' all ZPOOL_CONFIG_PATH names are supposed
to be updated by fix_paths(). This was not happening for spare
and cache devices because the proper names were getting filtered
out of the pool_list_t->names. Interestingly, the names were
being filtered because the spare and cache devices do not
contain the pool name in their vdev label.

The fix is to exclude the device path from the list only if:

  1. has a valid ZPOOL_CONFIG_POOL_NAME key in the label, and
  2. that pool name does not match the specified pool name.

Since the label is valid and because it does properly store the
vdev guid it will be correctly assembled without the pool name.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #725

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Oct 19 2012, 4:36 AM
Parents
rGeac4720465e5: Allow 'zpool replace' to use short device names
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG30b937ee1558: Update spare and cache device names on import (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Oct 22 2012, 3:46 PM