Manually merge part of vendor import r238583 from Illumos.
Illumos changeset: 13680:2bd022a765e2 Illumos ZFS issue: 2671 zpool import should not fail if vdev ashift has increased MFC after: 3 days
This commit is contained in:
parent
ba41c3c13f
commit
c92bc5e996
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=253441
@ -3997,7 +3997,7 @@ print_dedup_stats(nvlist_t *config)
|
||||
|
||||
/*
|
||||
* If the pool was faulted then we may not have been able to
|
||||
* obtain the config. Otherwise, if have anything in the dedup
|
||||
* obtain the config. Otherwise, if we have anything in the dedup
|
||||
* table continue processing the stats.
|
||||
*/
|
||||
if (nvlist_lookup_uint64_array(config, ZPOOL_CONFIG_DDT_OBJ_STATS,
|
||||
|
@ -1258,12 +1258,16 @@ vdev_open(vdev_t *vd)
|
||||
vd->vdev_ashift = MAX(ashift, vd->vdev_ashift);
|
||||
} else {
|
||||
/*
|
||||
* Make sure the alignment requirement hasn't increased.
|
||||
* Detect if the alignment requirement has increased.
|
||||
* We don't want to make the pool unavailable, just
|
||||
* issue a warning instead.
|
||||
*/
|
||||
if (ashift > vd->vdev_top->vdev_ashift) {
|
||||
vdev_set_state(vd, B_TRUE, VDEV_STATE_CANT_OPEN,
|
||||
VDEV_AUX_BAD_LABEL);
|
||||
return (EINVAL);
|
||||
if (ashift > vd->vdev_top->vdev_ashift &&
|
||||
vd->vdev_ops->vdev_op_leaf) {
|
||||
cmn_err(CE_WARN,
|
||||
"Disk, '%s', has a block alignment that is "
|
||||
"larger than the pool's alignment\n",
|
||||
vd->vdev_path);
|
||||
}
|
||||
vd->vdev_max_asize = max_asize;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user