backup/restore: use qfile-unpacker in a VM, request disk space monitoring
Make it possible to use qvm-backup-restore in a VM. This commit is about accessing backup itself, when stored in another VM. This involve using qfile-unpacker instead of qfile-dom0-unpacker and also requesting disk space monitoring, as a VM probably won't have enough space to hold the whole backup at once. QubesOS/qubes-issues#4791 QubesOS/qubes-issues#5310
This commit is contained in:
parent
db1d4b5d48
commit
6338b936e2
@ -992,9 +992,14 @@ class BackupRestore(object):
|
||||
self.processes_to_kill_on_cancel.append(vmproc)
|
||||
|
||||
backup_stdin = vmproc.stdout
|
||||
# FIXME use /usr/lib/qubes/qfile-unpacker in non-dom0
|
||||
tar1_command = ['/usr/libexec/qubes/qfile-dom0-unpacker',
|
||||
str(os.getuid()), self.tmpdir, '-v']
|
||||
if isinstance(self.app, qubesadmin.app.QubesRemote):
|
||||
qfile_unpacker_path = '/usr/lib/qubes/qfile-unpacker'
|
||||
else:
|
||||
qfile_unpacker_path = '/usr/libexec/qubes/qfile-dom0-unpacker'
|
||||
# keep at least 500M free for decryption of a previous chunk
|
||||
tar1_command = [qfile_unpacker_path,
|
||||
str(os.getuid()), self.tmpdir, '-v',
|
||||
'-w', str(500 * 1024 * 1024)]
|
||||
else:
|
||||
backup_stdin = open(self.backup_location, 'rb')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user