core-admin/qubes
Rusty Bird 2b4b45ead8
storage/reflink: preferably get volume size from image size
There were (at least) five ways for the volume's nominal size and the
volume image file's actual size to desynchronize:

- loading a stale qubes.xml if a crash happened right after resizing the
  image but before saving the updated qubes.xml (-> previously fixed)
- restarting a snap_on_start volume after resizing the volume or its
  source volume (-> previously fixed)
- reverting to a differently sized revision
- importing a volume
- user tinkering with image files

Rather than trying to fix these one by one and hoping that there aren't
any others, override the volume size getter itself to always update from
the image file size. (If the getter is called though the storage API, it
takes the volume lock to avoid clobbering the nominal size when resize()
is running concurrently.)
2019-06-23 12:48:00 +00:00
..
api api/admin: make admin.vm.Console call go through qubesd 2019-06-09 18:03:18 +02:00
ext qubes/ext/gui: set videoram qdb entries 2018-12-20 18:28:40 +01:00
qmemman qmemman: fix early crash 2018-01-18 17:36:37 +01:00
storage storage/reflink: preferably get volume size from image size 2019-06-23 12:48:00 +00:00
tests Merge remote-tracking branch 'origin/pr/257' 2019-06-23 03:43:35 +02:00
tools Merge remote-tracking branch 'origin/pr/242' 2018-11-24 14:43:43 +01:00
vm vm/adminvm: add run_service* functions 2019-06-09 21:00:02 +02:00
__init__.py Make pylint happy 2019-02-27 18:40:18 +01:00
app.py app: add missing load_stage=3 to global properties 2019-03-14 14:56:01 +01:00
backup.py Remove unused core2migration.py 2018-12-04 16:12:33 +01:00
config.py vm/adminvm: add run_service* functions 2019-06-09 21:00:02 +02:00
devices.py Drop unnecessary 'pass' to make pylint happy 2018-12-04 16:06:33 +01:00
dochelpers.py Fix issues found by pylint 2.0 2018-07-15 23:51:15 +02:00
events.py Fix issues found by pylint 2.0 2018-07-15 23:51:15 +02:00
exc.py Prevent removal of in-use storage pool 2019-02-27 06:03:57 +01:00
features.py qubes/features: check_with_(template_and_)adminvm 2018-12-20 18:28:33 +01:00
firewall.py Make pylint happy 2019-02-27 18:40:18 +01:00
log.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
rngdoc.py Fix issues found by pylint 2.0 2018-07-15 23:51:15 +02:00
tarwriter.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
utils.py Make pylint happy 2019-02-27 18:40:18 +01:00