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 |
||
---|---|---|
.. | ||
api | ||
ext | ||
qmemman | ||
storage | ||
tests | ||
tools | ||
vm | ||
__init__.py | ||
app.py | ||
backup.py | ||
config.py | ||
core2migration.py | ||
devices.py | ||
dochelpers.py | ||
events.py | ||
exc.py | ||
firewall.py | ||
log.py | ||
rngdoc.py | ||
tarwriter.py | ||
utils.py |