Skip to content

volatile volume of DispVM may land in a different pool than its template #5933

Description

@3hhh

Qubes OS version
4.0 current-testing

Affected component(s) or functionality
qvm-create

Brief summary
Disposable VM's volatile volumes are created on the pool of their root parent, not on the pool of their direct parent.

To Reproduce

qvm-pool -o dir_path=/mnt/foo -a foo file
qvm-create -l red tvm -P foo
qvm-prefs tvm template_for_dispvms True
qvm-volume | grep tvm (all good, only root comes from the default template)
qvm-run --dispvm tvm xterm
#assuming disp9487 was created:
qvm-volume|grep disp9487

Expected behavior

foo:appvms/disp9487/private                          disp9487           private      No
linux-kernel:4.19.125-1                              disp9487           kernel       No
varlibqubes:appvms/disp9487/root                     disp9487           root         No
foo:appvms/disp9487/volatile                 disp9487           volatile     No

(volatile is on the foo pool)

Actual behavior

foo:appvms/disp9487/private                          disp9487           private      No
linux-kernel:4.19.125-1                              disp9487           kernel       No
varlibqubes:appvms/disp9487/root                     disp9487           root         No
varlibqubes:appvms/disp9487/volatile                 disp9487           volatile     No

(volatile is on the default pool)

Additional context
This was originally reported at #904 (comment)

Relevant documentation you've consulted
man qvm-pool claims that
" -P POOL
Pool to use for the new domain. All volumes besides snapshots volumes are imported in to the specified POOL. THIS IS WHAT YOU WANT TO USE NORMALLY
"
Apparently this is not always true.

@marmarek said that --pool volatile= may work in #1527 (comment) but the -P behaviour is unexpected and not according to doc anyway.

Related, non-duplicate issues
#904 (comment)
#1527 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: coreThis issue pertains to a Qubes core component.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.diagnosedTechnical diagnosis of this issue has been performed.r4.0-dom0-stabler4.1-dom0-cur-test

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions