]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
cloud: add restore_bucket field to transfer structure.
authornorbert.bizet <norbert.bizet@baculasystems.com>
Wed, 4 May 2022 10:14:00 +0000 (06:14 -0400)
committerEric Bollengier <eric@baculasystems.com>
Thu, 14 Sep 2023 11:56:58 +0000 (13:56 +0200)
bacula/src/stored/cloud_transfer_mgr.c
bacula/src/stored/cloud_transfer_mgr.h

index 83f1b17ee7842380df3418d4264a48b7bc9000a2..eb44c58d40bd988c6627be4cbcddb37957f013d2 100644 (file)
@@ -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);
index a8dfeed845062d2506dad07ac720158b28b71c35..fc4631a23ca66ae9f62e2f066150d8b67fa22337 100644 (file)
@@ -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();