1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-09 03:36:48 +00:00
webvirtcloud/storages
catborise befd1747df perf(storages): a pool's volumes are read with one libvirt call each
wvmStorage.update_volumes looked each volume up by name three times,
read its info twice and its XML once: six round trips per volume to
the host. It now lists the pool's volumes as objects (listAllVolumes)
and reads each one's XML only (volume_details): name, capacity,
allocation and format are all in it, and libvirt refreshes a volume
for its XML as it does for info(). A pool of N volumes takes 2 + N
calls instead of 2 + 6N; 100 volumes over SSH on a test host read in
about 110 ms instead of 720 ms, with the same values.

- A volume deleted between the listing and its read is left out; any
  other error is raised. Volumes come sorted by name.
- get_volume_details (the API's one volume) reads it the same way.
- Only a refused refresh (a clone running in the pool) is tolerated,
  not any exception.
- The pool page reads its volumes and space only to render itself;
  its actions, which all redirect, no longer read every volume first.
- get_volume_size and get_volume_allocation go: nothing else used them.
2026-10-28 19:34:34 +03:00
..
api fix(storages): the pool page measures its pool fresh, shares one clone dialog and says what it cannot show 2026-10-28 19:20:35 +03:00
migrations add missing migrations for new models 2022-08-24 09:34:16 +03:00
templates feat(storages): the storage pages on Bootstrap's tables, cards, badges and menus 2026-10-28 19:27:21 +03:00
tests feat(storages): the storage pages on Bootstrap's tables, cards, badges and menus 2026-10-28 19:27:21 +03:00
__init__.py build new tree 2015-02-27 11:28:22 +02:00
forms.py feat(storages): the storage pages on Bootstrap's tables, cards, badges and menus 2026-10-28 19:27:21 +03:00
jobs.py fix(storages): the pool page measures its pool fresh, shares one clone dialog and says what it cannot show 2026-10-28 19:20:35 +03:00
models.py reorg imports and black format 2022-11-02 16:05:41 +03:00
upload.py fix(logs): blocking a blocked user writes no row; one upload submit path 2026-10-23 14:23:32 +03:00
views.py perf(storages): a pool's volumes are read with one libvirt call each 2026-10-28 19:34:34 +03:00