Use linear abd in vdev_copy_uberblocks()
The vdev_copy_uberblocks() function should use abd_alloc_linear() to allocate ub_abd, because abd_to_buf(ub_abd)) is used later. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Isaac Huang <he.huang@intel.com> Closes #6718 Closes #6713
This commit is contained in:
parent
4cfc086e4d
commit
b97948276d
|
@ -1164,7 +1164,7 @@ vdev_copy_uberblocks(vdev_t *vd)
|
||||||
|
|
||||||
spa_config_enter(vd->vdev_spa, locks, FTAG, RW_READER);
|
spa_config_enter(vd->vdev_spa, locks, FTAG, RW_READER);
|
||||||
|
|
||||||
ub_abd = abd_alloc(VDEV_UBERBLOCK_SIZE(vd), B_TRUE);
|
ub_abd = abd_alloc_linear(VDEV_UBERBLOCK_SIZE(vd), B_TRUE);
|
||||||
|
|
||||||
write_zio = zio_root(vd->vdev_spa, NULL, NULL, flags);
|
write_zio = zio_root(vd->vdev_spa, NULL, NULL, flags);
|
||||||
for (int n = 0; n < VDEV_UBERBLOCK_COUNT(vd); n++) {
|
for (int n = 0; n < VDEV_UBERBLOCK_COUNT(vd); n++) {
|
||||||
|
|
Loading…
Reference in New Issue