From: norbert.bizet Date: Wed, 4 May 2022 10:14:00 +0000 (-0400) Subject: cloud: add restore_bucket field to transfer structure. X-Git-Tag: Beta-15.0.0~587 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2cc6abf3ce5fb27c2b661b0de12fc10e01e57583;p=thirdparty%2Fbacula.git cloud: add restore_bucket field to transfer structure. --- diff --git a/bacula/src/stored/cloud_transfer_mgr.c b/bacula/src/stored/cloud_transfer_mgr.c index 83f1b17ee..eb44c58d4 100644 --- a/bacula/src/stored/cloud_transfer_mgr.c +++ b/bacula/src/stored/cloud_transfer_mgr.c @@ -76,7 +76,8 @@ transfer::transfer(uint64_t size, m_use_count(0), m_retry(0), m_cancel(false), - m_do_cache_truncate(false) + m_do_cache_truncate(false), + m_restore_bucket(NULL) { pthread_mutex_init(&m_stat_mutex, 0); pthread_mutex_init(&m_mutex, 0); @@ -84,11 +85,14 @@ transfer::transfer(uint64_t size, m_message = get_pool_memory(PM_MESSAGE); *m_message = 0; + m_restore_bucket = get_pool_memory(PM_MESSAGE); + *m_restore_bucket = 0; } /* destructor */ transfer::~transfer() { + free_pool_memory(m_restore_bucket); free_pool_memory(m_message); pthread_cond_destroy(&m_done); pthread_mutex_destroy(&m_mutex); @@ -517,6 +521,10 @@ void transfer::set_do_cache_truncate(bool do_cache_truncate) m_do_cache_truncate=do_cache_truncate; } +void transfer::set_restore_bucket(POOLMEM *restore_bucket) +{ + pm_strcpy(m_restore_bucket, restore_bucket); +} void transfer::inc_retry() { lock_guard lg(m_mutex); diff --git a/bacula/src/stored/cloud_transfer_mgr.h b/bacula/src/stored/cloud_transfer_mgr.h index a8dfeed84..fc4631a23 100644 --- a/bacula/src/stored/cloud_transfer_mgr.h +++ b/bacula/src/stored/cloud_transfer_mgr.h @@ -138,6 +138,9 @@ public: /* truncate cache once transfer is completed (upload)*/ bool m_do_cache_truncate; + + /* for Archive/Glacier restoration */ + POOLMEM *m_restore_bucket; /* methods :*/ /* constructor * size : the size in bytes of the transfer @@ -188,6 +191,8 @@ public: void set_do_cache_truncate(bool do_cache_truncate); + void set_restore_bucket(POOLMEM *restore_bucket); + /* reset processed size */ void reset_processed_size();