Avoid local modification in a pool's init_volume influence vm.volume_config. Currently every pool driver replaces volume_config['pool'] with a pool object (instead of name) and it leads to confusing cases where depending on start stage, it is sometimes an object and sometimes a string. Additionally, some pool drivers may modify volume_config in unexpected way - for example test pool driver removes 'pool' entry entirely. Avoid this fragile interface by giving pool driver a copy of volume_config, instead of vm.volume_config directly. Note one side effect is that 'vid' (and other pool-specific parameters) is not set into vm.volume_config directly after creating a VM, but possibly only after loading from XML. This should not be an issue in theory (no core code should expect it), but if some place use volume_config instead of Volume instance for getting pool-specific options, it should be fixed. |
||
|---|---|---|
| ci | ||
| contrib | ||
| doc | ||
| etc | ||
| linux | ||
| qubes | ||
| qubes-rpc | ||
| qubes-rpc-policy | ||
| qvm-tools | ||
| relaxng | ||
| rpm_spec | ||
| templates | ||
| test-packages | ||
| .gitignore | ||
| .pylintrc | ||
| .travis.yml | ||
| installer.wxs | ||
| LICENSE | ||
| Makefile | ||
| Makefile.builder | ||
| README.md | ||
| run-tests | ||
| setup.cfg | ||
| setup.py | ||
| version | ||
Qubes core, version 3
This is master branch of the Qubes OS core.
API documentation is available: https://dev.qubes-os.org/projects/core-admin/en/latest/.