[pbs-devel] [RFC proxmox-backup 0/2] fix #6750: fix possible deadlock for s3 backed datastore backups
Christian Ebner
c.ebner at proxmox.com
Wed Sep 24 16:56:10 CEST 2025
These patches aim to fix a deadlock which can occur during backup
jobs to datastores backed by S3 backend. The deadlock most likely is
caused by the mutex guard for the backup shared state being held
while entering the tokio::task::block_in_place context and executing
async code, which however can lead to deadlocks as described in [0].
Therefore, these patches avoid holding the mutex guard for the shared
backup state while performing the s3 backend operations, by
prematurely dropping it. To avoid inconsistencies, account and check
for active backend operations when closing fixed/dynamic index files
and on finish api calls.
Sending this as an RFC with the intend to provide the patches for a
potential test build to verify it resolves the issue for affected
users.
[0] https://docs.rs/tokio/latest/tokio/sync/struct.Mutex.html#which-kind-of-mutex-should-you-use
Link to the bugtracker issue:
https://bugzilla.proxmox.com/show_bug.cgi?id=6750
Another report in the community forum:
https://forum.proxmox.com/threads/171422/
proxmox-backup:
Christian Ebner (2):
fix #6750: api: avoid possible deadlock on datastores with s3 backend
api: backup: never hold mutex guard when doing manifest update
src/api2/backup/environment.rs | 89 +++++++++++++++++++++++-----------
1 file changed, 61 insertions(+), 28 deletions(-)
Summary over all repositories:
1 files changed, 61 insertions(+), 28 deletions(-)
--
Generated by git-murpp 0.8.1
More information about the pbs-devel
mailing list