core-admin/qubes/storage
Marek Marczykowski-Górecki 0f12870803
storage: use direct object references, not only identifiers
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
2017-06-09 04:55:06 +02:00
..
__init__.py storage: use direct object references, not only identifiers 2017-06-09 04:55:06 +02:00
file.py storage: use direct object references, not only identifiers 2017-06-09 04:55:06 +02:00
kernels.py storage: use direct object references, not only identifiers 2017-06-09 04:55:06 +02:00
lvm.py storage: use direct object references, not only identifiers 2017-06-09 04:55:06 +02:00
README.md Merge remote-tracking branch 'marmarek/master' into core3-devel 2016-03-03 01:13:51 +01:00

WNI File storage

Before v3.1 there existed a draft wni storage. You can find it in the git history

(it was in /core/storage directory, now gone)