From: Michal Rakowski Date: Fri, 11 Jun 2021 15:11:11 +0000 (+0200) Subject: Fix problem with decrementing Read Storage X-Git-Tag: Release-11.3.2~495 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=537b141d93a09298884bed50414a1f2f7f998c64;p=thirdparty%2Fbacula.git Fix problem with decrementing Read Storage When decrementing read storage concurrent jobs counter, both counters: - NumConcurrentReadJobs - NumConcurrentJobs have to be decremented. --- diff --git a/bacula/src/dird/store_mngr.c b/bacula/src/dird/store_mngr.c index 99abd91f1..3e6b8afa8 100644 --- a/bacula/src/dird/store_mngr.c +++ b/bacula/src/dird/store_mngr.c @@ -243,13 +243,19 @@ void storage::dec_stores() { if (unused_stores_decremented) { /* Only currently used storage needs to be decrased, rest of it was decremented before */ - int num = store->incNumConcurrentJobs(-1); - Dmsg2(dbglvl, "Store: %s Dec ncj=%d\n", store->name(), num); - unused_stores_decremented = false; + if(!write) { + store->incNumConcurrentReadJobs(-1); + } + int num = store->incNumConcurrentJobs(-1); + Dmsg2(dbglvl, "Store: %s Dec ncj=%d\n", store->name(), num); + unused_stores_decremented = false; } else { /* We need to decrement all storages in the list */ STORE *tmp_store; foreach_alist(tmp_store, list) { + if(!write) { + tmp_store->incNumConcurrentReadJobs(-1); + } int num = tmp_store->incNumConcurrentJobs(-1); Dmsg2(dbglvl, "Store: %s Dec ncj=%d\n", tmp_store->name(), num); }