1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-11 20:58:50 +03:00

metadata: Do not ignore errors in _vg_update_vg_ondisk.

This commit is contained in:
Petr Rockai 2013-07-22 12:00:48 +02:00
parent bd60232d74
commit 3ed7f78ff4

View File

@ -835,27 +835,25 @@ static int _vg_update_vg_ondisk(struct volume_group *vg)
struct dm_config_tree *cft; struct dm_config_tree *cft;
int pool_locked; int pool_locked;
if (vg->vg_ondisk) /* we already have it */ if (vg->vg_ondisk || is_orphan_vg(vg->name)) /* we already have it */
return 1; return 1;
pool_locked = dm_pool_locked(vg->vgmem); pool_locked = dm_pool_locked(vg->vgmem);
if (pool_locked && !dm_pool_unlock(vg->vgmem, 0)) if (pool_locked && !dm_pool_unlock(vg->vgmem, 0))
return_0; return_0;
if (!is_orphan_vg(vg->name)) { cft = export_vg_to_config_tree(vg);
cft = export_vg_to_config_tree(vg); if (!cft)
if (!cft) return 0;
return 0;
vg->vg_ondisk = import_vg_from_config_tree(cft, vg->fid); vg->vg_ondisk = import_vg_from_config_tree(cft, vg->fid);
dm_config_destroy(cft); dm_config_destroy(cft);
}
/* recompute the pool crc */ /* recompute the pool crc */
if (pool_locked && !dm_pool_lock(vg->vgmem, detect_internal_vg_cache_corruption())) if (pool_locked && !dm_pool_lock(vg->vgmem, detect_internal_vg_cache_corruption()))
return_0; return_0;
return 1; return vg->vg_ondisk ? 1 : 0;
} }
/* /*