any uploaded file has to be deleted by the corrosponding endpoint. the file upload was only used by the 'upload to storage' feature in pve.
this change allows the endpoint to delete the file itself, making the old and racey`sleep 1` (waiting until the worker has opened the file) obsolete. this change breaks all pve-manager versions, in which the worker does not unlink the temp file itself. Signed-off-by: Lorenz Stechauner <l.stechau...@proxmox.com> --- src/PVE/APIServer/AnyEvent.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/PVE/APIServer/AnyEvent.pm b/src/PVE/APIServer/AnyEvent.pm index cd77806..23b8d10 100644 --- a/src/PVE/APIServer/AnyEvent.pm +++ b/src/PVE/APIServer/AnyEvent.pm @@ -114,7 +114,7 @@ sub log_aborted_request { } sub cleanup_reqstate { - my ($reqstate) = @_; + my ($reqstate, $deletetmpfile) = @_; delete $reqstate->{log}; delete $reqstate->{request}; @@ -123,7 +123,7 @@ sub cleanup_reqstate { delete $reqstate->{starttime}; if ($reqstate->{tmpfilename}) { - unlink $reqstate->{tmpfilename}; + unlink $reqstate->{tmpfilename} if $deletetmpfile; delete $reqstate->{tmpfilename}; } } @@ -131,7 +131,7 @@ sub cleanup_reqstate { sub client_do_disconnect { my ($self, $reqstate) = @_; - cleanup_reqstate($reqstate); + cleanup_reqstate($reqstate, 1); my $shutdown_hdl = sub { my $hdl = shift; -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel