提交 bf5cf610 编写于 作者: M Michal Privoznik

virISCSIDirectRefreshVol: Don't clear volumes in each run

When fetching LUNs from iscsi server the
virISCSIDirectReportLuns() is called. This function does some
libiscsi calls and then calls virISCSIDirectRefreshVol() over
each LUN found. It's unfortunate that the latter calls
virStoragePoolObjClearVols() as we lose all LUNs processed
in previous iterations.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
上级 6097d1c8
......@@ -309,7 +309,6 @@ virISCSIDirectRefreshVol(virStoragePoolObjPtr pool,
uint32_t nb_block;
VIR_AUTOPTR(virStorageVolDef) vol = NULL;
virStoragePoolObjClearVols(pool);
if (virISCSIDirectTestUnitReady(iscsi, lun) < 0)
return -1;
......@@ -376,6 +375,7 @@ virISCSIDirectReportLuns(virStoragePoolObjPtr pool,
def->capacity = 0;
def->allocation = 0;
virStoragePoolObjClearVols(pool);
for (i = 0; i < list->num; i++) {
if (virISCSIDirectRefreshVol(pool, iscsi, list->luns[i], portal) < 0)
goto cleanup;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册