]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
BEE Backport bacula/src/dird/newvol.c
authorEric Bollengier <eric@baculasystems.com>
Fri, 24 Apr 2020 15:57:02 +0000 (17:57 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 29 Apr 2021 08:44:17 +0000 (10:44 +0200)
bacula/src/dird/newvol.c

index 7d334641612a0c846895c8845da2a12336b85ce5..7cf7c1fc4bc64dcbe4fbe2306a36d218053542d3 100644 (file)
@@ -53,6 +53,7 @@ bool newVolume(JCR *jcr, MEDIA_DBR *mr, STORE *store, POOL_MEM &errmsg)
    /* See if we can create a new Volume */
    db_lock(jcr->db);
    pr.PoolId = mr->PoolId;
+   pr.PoolBytes = 1;            /* Get the size of the pool */
 
    if (!db_get_pool_numvols(jcr, jcr->db, &pr)) {
       goto bail_out;
@@ -64,6 +65,12 @@ bool newVolume(JCR *jcr, MEDIA_DBR *mr, STORE *store, POOL_MEM &errmsg)
       goto bail_out;
    }
 
+   if (check_max_pool_bytes(&pr)) {
+      Mmsg(errmsg, "Maximum Pool Bytes exceeded for Pool %s", pr.Name);
+      Dmsg1(90, "Too much bytes for Pool %s\n", pr.Name);
+      goto bail_out;
+   }
+
    mr->clear();
    set_pool_dbr_defaults_in_media_dbr(mr, &pr);
    jcr->VolumeName[0] = 0;