0f12870803
Reference objects, not their IDs - this way when object is modified, it is visible everywhere where it is used. Main changes: - volume.pool - Pool object - volume.source - Volume object Since volume have Pool object reference now, move volume related functions into Volume class (from Pool class). This avoids horrible `storage.get_pool(volume).something(volume)` construct. One issue here is since volume.source reference a Volume object from a different VM - VM's template, now VM load order is important. Since we don't have control over it, initialize vm.storage when needed - possibly while initializing storage of different VM. Since we don't have cycles in AppVM-TemplateVM dependencies, it is safe. Also, since this commit, volume.source (if defined) always points at volume of the same name from VM's template. Using volumes with something else as a source is no longer supported. QubesOS/qubes-issues#2256 |
||
---|---|---|
.. | ||
integ | ||
tools | ||
vm | ||
__init__.py | ||
api_admin.py | ||
api_misc.py | ||
app.py | ||
devices_block.py | ||
devices.py | ||
events.py | ||
extra.py | ||
firewall.py | ||
init.py | ||
run.py | ||
storage_file.py | ||
storage_kernels.py | ||
storage_lvm.py | ||
storage.py | ||
tarwriter.py |