/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
* Basic tasks done here:
* If possible create a new Media entry
*
- * Version $Id$
*/
#include "bacula.h"
* The media record must have the PoolId filled in when
* calling this routine.
*/
-bool newVolume(JCR *jcr, MEDIA_DBR *mr)
+bool newVolume(JCR *jcr, MEDIA_DBR *mr, STORE *store)
{
POOL_DBR pr;
goto bail_out;
}
if (pr.MaxVols == 0 || pr.NumVols < pr.MaxVols) {
- memset(mr, 0, sizeof(MEDIA_DBR));
+ mr->clear();
set_pool_dbr_defaults_in_media_dbr(mr, &pr);
jcr->VolumeName[0] = 0;
bstrncpy(mr->MediaType, jcr->wstore->media_type, sizeof(mr->MediaType));
generate_job_event(jcr, "NewVolume"); /* return bool */
- generate_plugin_event(jcr, bEventNewVolume); /* return void... */
+ generate_plugin_event(jcr, bDirEventNewVolume); /* return void... */
if (jcr->VolumeName[0] && is_volume_name_legal(NULL, jcr->VolumeName)) {
bstrncpy(mr->VolumeName, jcr->VolumeName, sizeof(mr->VolumeName));
/* Check for special characters */
}
pr.NumVols++;
mr->Enabled = 1;
+ set_storageid_in_mr(store, mr);
if (db_create_media_record(jcr, jcr->db, mr) &&
db_update_pool_record(jcr, jcr->db, &pr)) {
db_unlock(jcr->db);
}
for (int i=(int)ctx.value+1; i<(int)ctx.value+100; i++) {
MEDIA_DBR tmr;
- memset(&tmr, 0, sizeof(tmr));
sprintf(num, "%04d", i);
bstrncpy(tmr.VolumeName, name, sizeof(tmr.VolumeName));
bstrncat(tmr.VolumeName, num, sizeof(tmr.VolumeName));