[pve-devel] [PATCH manager] partially fix #3056: namespace vzdump tmpdir with vmid
Dominik Csapak
d.csapak at proxmox.com
Mon Oct 19 16:15:25 CEST 2020
this fixes an issue where a rogue running backup would upload the vm
config of a later backup in a backup job
instead now that directory gets deleted and the config is not
available anymore
we cannot really keep those directories around until the end of the
backup job, since we temporarily save ct contents there, which could get
large very fast
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
PVE/VZDump.pm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm
index 542228d6..cdcb658f 100644
--- a/PVE/VZDump.pm
+++ b/PVE/VZDump.pm
@@ -769,10 +769,11 @@ sub exec_backup_task {
$task->{vmtype} = $vmtype;
+ my $pid = $$;
if ($opts->{tmpdir}) {
- $task->{tmpdir} = "$opts->{tmpdir}/vzdumptmp$$";
+ $task->{tmpdir} = "$opts->{tmpdir}/vzdumptmp${pid}_$vmid/";
} elsif ($self->{opts}->{pbs}) {
- $task->{tmpdir} = "/var/tmp/vzdumptmp$$"; #fixme
+ $task->{tmpdir} = "/var/tmp/vzdumptmp${pid}_$vmid";
} else {
# dumpdir is posix? then use it as temporary dir
my $info = get_mount_info($opts->{dumpdir});
@@ -780,7 +781,7 @@ sub exec_backup_task {
grep ($_ eq $info->{fstype}, @posix_filesystems)) {
$task->{tmpdir} = "$opts->{dumpdir}/$basename.tmp";
} else {
- $task->{tmpdir} = "/var/tmp/vzdumptmp$$";
+ $task->{tmpdir} = "/var/tmp/vzdumptmp${pid}_$vmid";
debugmsg ('info', "filesystem type on dumpdir is '$info->{fstype}' -" .
"using $task->{tmpdir} for temporary files", $logfd);
}
--
2.20.1
More information about the pve-devel
mailing list