- pr.PoolId = jcr->PoolId;
- if (db_get_pool_record(jcr, jcr->db, &pr) && pr.LabelFormat[0] &&
- pr.LabelFormat[0] != '*') {
- if (pr.MaxVols == 0 || pr.NumVols < pr.MaxVols) {
- memset(mr, 0, sizeof(MEDIA_DBR));
- set_pool_dbr_defaults_in_media_dbr(mr, &pr);
- bstrncpy(mr->MediaType, jcr->store->media_type, sizeof(mr->MediaType));
- /* Check for special characters */
- if (is_volume_name_legal(NULL, pr.LabelFormat)) {
- /* No special characters, so apply simple algorithm */
- if (!create_simple_name(jcr, mr, &pr)) {
- goto bail_out;
- }
- } else { /* try full substitution */
- /* Found special characters, so try substitution */
- if (!perform_full_name_substitution(jcr, mr, &pr)) {
- goto bail_out;
- }
- if (!is_volume_name_legal(NULL, mr->VolumeName)) {
+ pr.PoolId = mr->PoolId;
+ if (!db_get_pool_record(jcr, jcr->db, &pr)) {
+ goto bail_out;
+ }
+ if (pr.MaxVols == 0 || pr.NumVols < pr.MaxVols) {
+ memset(mr, 0, sizeof(MEDIA_DBR));
+ set_pool_dbr_defaults_in_media_dbr(mr, &pr);
+ jcr->VolumeName[0] = 0;
+ bstrncpy(mr->MediaType, jcr->wstore->media_type, sizeof(mr->MediaType));
+ if (generate_job_event(jcr, "NewVolume") == 1 && jcr->VolumeName[0] &&
+ is_volume_name_legal(NULL, jcr->VolumeName)) {
+ bstrncpy(mr->VolumeName, jcr->VolumeName, sizeof(mr->VolumeName));
+ /* Check for special characters */
+ } else if (pr.LabelFormat[0] && pr.LabelFormat[0] != '*') {
+ if (is_volume_name_legal(NULL, pr.LabelFormat)) {
+ /* No special characters, so apply simple algorithm */
+ if (!create_simple_name(jcr, mr, &pr)) {
+ goto bail_out;
+ }
+ } else { /* try full substitution */
+ /* Found special characters, so try substitution */
+ if (!perform_full_name_substitution(jcr, mr, &pr)) {
+ goto bail_out;
+ }
+ if (!is_volume_name_legal(NULL, mr->VolumeName)) {