Skip to content

don't resize volatile root - #639

Open
hippalectryon-0 wants to merge 1 commit into
QubesOS:mainfrom
hippalectryon-0:no-resize-volatile
Open

hippalectryon-0 wants to merge 1 commit into
QubesOS:mainfrom
hippalectryon-0:no-resize-volatile

Conversation

@hippalectryon-0

@hippalectryon-0 hippalectryon-0 commented Mar 13, 2026

Copy link
Copy Markdown

Fixes QubesOS/qubes-issues#10503

If we resized a TemplateVM but never booted it, then boot an AppVM that depends on the template, resize-rootfs-if-needed.sh will resize the volatile root volume through CoW, which is very slow and likely unexpected.

This skips resizing root volumes for AppVMs and DispVMs.

Note: I'm not sure this is the best way to do that and would appreciate feedback - for instance if there was away to explicitly check whether the root volume is volatile rather than hardcoding VM classes..

Note: from an User Experience pt of view this is still iffy - less technical users will not expect to have to run the TemplateVM once to apply the resizing changes - but it's a separate issue.

@codecov

codecov Bot commented Mar 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.30%. Comparing base (2e5866f) to head (7757209).
⚠️ Report is 60 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #639      +/-   ##
==========================================
+ Coverage   69.89%   70.30%   +0.40%     
==========================================
  Files           3        3              
  Lines         495      495              
==========================================
+ Hits          346      348       +2     
+ Misses        149      147       -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@marmarek

Copy link
Copy Markdown
Member

for instance if there was away to explicitly check whether the root volume is volatile

Check for /run/qubes/persistent-full? It's created based on persistence announced in qubesdb: https://doc.qubes-os.org/en/latest/developer/debugging/vm-interface.html#keys-exposed-by-dom0-to-vm

Note: from an User Experience pt of view this is still iffy - less technical users will not expect to have to run the TemplateVM once to apply the resizing changes - but it's a separate issue.

Yes... I understand why skipping may be useful sometimes, but it creates inconsistency. For example if user wants just bigger /var/tmp, it isn't obvious that they need to also start the template after such change. Maybe at least add a message in GUI settings that resize will be applied only the next time the VM is started (if it isn't running at that time)? Another, rather obscure idea, would be to mark it as updates available, which also kinda prompts for starting such template, but it's ugly (especially since we don't have more info about available updates, so can't put real reason there).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

adding disk space to a template without running the template before running the dependent appvms breaks appvms

2 participants