From: Kern Sibbald Date: Fri, 11 Apr 2003 08:50:09 +0000 (+0000) Subject: Clean up some SD message nos. X-Git-Tag: Release-1.30~34 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=c5e8eee37f5bdc96a3bc9771d2807b232b7febdd;p=bacula%2Fbacula Clean up some SD message nos. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@433 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/dird/catreq.c b/bacula/src/dird/catreq.c index fce8ccced9..3880aba72c 100644 --- a/bacula/src/dird/catreq.c +++ b/bacula/src/dird/catreq.c @@ -8,7 +8,7 @@ * This routine runs as a thread and must be thread reentrant. * * Basic tasks done here: - * Handle Catalog services. + * Handle Catalog services. * * Version $Id$ */ @@ -85,7 +85,7 @@ void catalog_request(JCR *jcr, BSOCK *bs, char *msg) mr.PoolId = jcr->PoolId; strcpy(mr.MediaType, jcr->store->media_type); Dmsg2(120, "CatReq FindMedia: Id=%d, MediaType=%s\n", - mr.PoolId, mr.MediaType); + mr.PoolId, mr.MediaType); /* * Find the Next Volume for Append */ @@ -95,82 +95,82 @@ next_volume: Dmsg2(100, "catreq after find_next_vol ok=%d FW=%d\n", ok, mr.FirstWritten); if (!ok) { Dmsg1(200, "No next volume found. RecycleOldest=%d\n", - jcr->pool->recycle_oldest_volume); - if (jcr->pool->recycle_oldest_volume) { + jcr->pool->recycle_oldest_volume); + if (jcr->pool->recycle_oldest_volume) { Dmsg0(200, "Request to find oldest volume.\n"); - /* Find oldest volume to recycle */ - ok = db_find_next_volume(jcr, jcr->db, -1, &mr); + /* Find oldest volume to recycle */ + ok = db_find_next_volume(jcr, jcr->db, -1, &mr); Dmsg1(400, "Find oldest=%d\n", ok); - if (ok) { - UAContext ua; + if (ok) { + UAContext ua; Dmsg0(400, "Try purge.\n"); - /* Try to purge oldest volume */ - create_ua_context(jcr, &ua); - ok = purge_jobs_from_volume(&ua, &mr); - free_ua_context(&ua); - if (ok) { - ok = recycle_oldest_purged_volume(jcr, &mr); + /* Try to purge oldest volume */ + create_ua_context(jcr, &ua); + ok = purge_jobs_from_volume(&ua, &mr); + free_ua_context(&ua); + if (ok) { + ok = recycle_oldest_purged_volume(jcr, &mr); Dmsg1(400, "Recycle after recycle oldest=%d\n", ok); - } - } - } - if (!ok) { - /* Well, try finding recycled tapes */ - ok = find_recycled_volume(jcr, &mr); + } + } + } + if (!ok) { + /* Well, try finding recycled tapes */ + ok = find_recycled_volume(jcr, &mr); Dmsg2(100, "find_recycled_volume1 %d FW=%d\n", ok, mr.FirstWritten); - if (!ok) { - prune_volumes(jcr); - ok = recycle_oldest_purged_volume(jcr, &mr); + if (!ok) { + prune_volumes(jcr); + ok = recycle_oldest_purged_volume(jcr, &mr); Dmsg2(200, "find_recycled_volume2 %d FW=%d\n", ok, mr.FirstWritten); - if (!ok) { - /* See if we can create a new Volume */ - ok = newVolume(jcr, &mr); - } - } - } + if (!ok) { + /* See if we can create a new Volume */ + ok = newVolume(jcr, &mr); + } + } + } } /* Check if use duration has expired */ Dmsg2(100, "VolJobs=%d FirstWritten=%d\n", mr.VolJobs, mr.FirstWritten); if (ok && mr.VolJobs > 0 && mr.VolUseDuration > 0 && strcmp(mr.VolStatus, "Append") == 0) { - utime_t now = time(NULL); - if (mr.VolUseDuration <= (now - mr.FirstWritten)) { + utime_t now = time(NULL); + if (mr.VolUseDuration <= (now - mr.FirstWritten)) { Dmsg4(100, "Duration=%d now=%d start=%d now-start=%d\n", - (int)mr.VolUseDuration, (int)now, (int)mr.FirstWritten, - (int)(now-mr.FirstWritten)); + (int)mr.VolUseDuration, (int)now, (int)mr.FirstWritten, + (int)(now-mr.FirstWritten)); Jmsg(jcr, M_INFO, 0, _("Max configured use duration exceeded. " "Marking Volume \"%s\" as Used.\n"), mr.VolumeName); strcpy(mr.VolStatus, "Used"); /* yes, mark as used */ - if (!db_update_media_record(jcr, jcr->db, &mr)) { + if (!db_update_media_record(jcr, jcr->db, &mr)) { Jmsg(jcr, M_ERROR, 0, _("Catalog error updating Media record. %s"), - db_strerror(jcr->db)); - } else if (retry++ < 200) { /* sanity check */ - goto next_volume; - } else { - Jmsg(jcr, M_ERROR, 0, _( + db_strerror(jcr->db)); + } else if (retry++ < 200) { /* sanity check */ + goto next_volume; + } else { + Jmsg(jcr, M_ERROR, 0, _( "We seem to be looping trying to find the next volume. I give up. Ask operator.\n")); - } - ok = FALSE; /* give up */ - } + } + ok = FALSE; /* give up */ + } } /* * Send Find Media response to Storage daemon */ if (ok) { - char ed1[50], ed2[50], ed3[50]; - jcr->MediaId = mr.MediaId; - pm_strcpy(&jcr->VolumeName, mr.VolumeName); - bash_spaces(mr.VolumeName); - bnet_fsend(bs, OK_media, mr.VolumeName, mr.VolJobs, - mr.VolFiles, mr.VolBlocks, edit_uint64(mr.VolBytes, ed1), - mr.VolMounts, mr.VolErrors, mr.VolWrites, - edit_uint64(mr.MaxVolBytes, ed2), - edit_uint64(mr.VolCapacityBytes, ed3), - mr.VolStatus, mr.Slot, mr.MaxVolJobs, mr.MaxVolFiles); + char ed1[50], ed2[50], ed3[50]; + jcr->MediaId = mr.MediaId; + pm_strcpy(&jcr->VolumeName, mr.VolumeName); + bash_spaces(mr.VolumeName); + bnet_fsend(bs, OK_media, mr.VolumeName, mr.VolJobs, + mr.VolFiles, mr.VolBlocks, edit_uint64(mr.VolBytes, ed1), + mr.VolMounts, mr.VolErrors, mr.VolWrites, + edit_uint64(mr.MaxVolBytes, ed2), + edit_uint64(mr.VolCapacityBytes, ed3), + mr.VolStatus, mr.Slot, mr.MaxVolJobs, mr.MaxVolFiles); Dmsg1(200, "Find media: %s", bs->msg); } else { - bnet_fsend(bs, "1999 No Media\n"); + bnet_fsend(bs, "1901 No Media.\n"); } /* @@ -183,54 +183,54 @@ next_volume: */ unbash_spaces(mr.VolumeName); if (db_get_media_record(jcr, jcr->db, &mr)) { - int VolSuitable = 0; + int VolSuitable = 0; char *reason = ""; /* detailed reason for rejection */ - jcr->MediaId = mr.MediaId; + jcr->MediaId = mr.MediaId; Dmsg1(120, "VolumeInfo MediaId=%d\n", jcr->MediaId); - pm_strcpy(&jcr->VolumeName, mr.VolumeName); - if (!writing) { - VolSuitable = 1; /* accept anything for read */ - } else { - /* - * SD wants to write this Volume, so make - * sure it is suitable for this job, i.e. - * Pool matches, and it is either Append or Recycle - * and Media Type matches and Pool allows any volume. - */ - if (mr.PoolId != jcr->PoolId) { + pm_strcpy(&jcr->VolumeName, mr.VolumeName); + if (!writing) { + VolSuitable = 1; /* accept anything for read */ + } else { + /* + * SD wants to write this Volume, so make + * sure it is suitable for this job, i.e. + * Pool matches, and it is either Append or Recycle + * and Media Type matches and Pool allows any volume. + */ + if (mr.PoolId != jcr->PoolId) { reason = "not in Pool"; } else if (strcmp(mr.VolStatus, "Append") != 0 && strcmp(mr.VolStatus, "Recycle") != 0) { reason = "not Append or Recycle"; - } else if (strcmp(mr.MediaType, jcr->store->media_type) != 0) { + } else if (strcmp(mr.MediaType, jcr->store->media_type) != 0) { reason = "not correct MediaType"; - } else if (!jcr->pool->accept_any_volume) { + } else if (!jcr->pool->accept_any_volume) { reason = "Volume not in sequence"; - } else { - VolSuitable = 1; - } - } - if (VolSuitable) { - char ed1[50], ed2[50], ed3[50]; - /* - * Send Find Media response to Storage daemon - */ - bash_spaces(mr.VolumeName); - bnet_fsend(bs, OK_media, mr.VolumeName, mr.VolJobs, - mr.VolFiles, mr.VolBlocks, edit_uint64(mr.VolBytes, ed1), - mr.VolMounts, mr.VolErrors, mr.VolWrites, - edit_uint64(mr.MaxVolBytes, ed2), - edit_uint64(mr.VolCapacityBytes, ed3), - mr.VolStatus, mr.Slot, mr.MaxVolJobs, mr.MaxVolFiles); + } else { + VolSuitable = 1; + } + } + if (VolSuitable) { + char ed1[50], ed2[50], ed3[50]; + /* + * Send Find Media response to Storage daemon + */ + bash_spaces(mr.VolumeName); + bnet_fsend(bs, OK_media, mr.VolumeName, mr.VolJobs, + mr.VolFiles, mr.VolBlocks, edit_uint64(mr.VolBytes, ed1), + mr.VolMounts, mr.VolErrors, mr.VolWrites, + edit_uint64(mr.MaxVolBytes, ed2), + edit_uint64(mr.VolCapacityBytes, ed3), + mr.VolStatus, mr.Slot, mr.MaxVolJobs, mr.MaxVolFiles); Dmsg1(200, "Vol Info: %s", bs->msg); - } else { - /* Not suitable volume */ + } else { + /* Not suitable volume */ bnet_fsend(bs, "1998 Volume \"%s\" %s.\n", - mr.VolumeName, reason); - } + mr.VolumeName, reason); + } } else { - bnet_fsend(bs, "1999 Volume \"%s\" not in catalog.\n", mr.VolumeName); + bnet_fsend(bs, "1997 Volume \"%s\" not in catalog.\n", mr.VolumeName); } @@ -244,17 +244,17 @@ next_volume: &sdmr.Slot, &relabel) == 14) { Dmsg3(400, "Update media %s oldStat=%s newStat=%s\n", sdmr.VolumeName, - mr.VolStatus, sdmr.VolStatus); + mr.VolStatus, sdmr.VolStatus); bstrncpy(mr.VolumeName, sdmr.VolumeName, sizeof(mr.VolumeName)); /* copy Volume name */ if (!db_get_media_record(jcr, jcr->db, &mr)) { Jmsg(jcr, M_ERROR, 0, _("Unable to get Media record for Volume %s: ERR=%s\n"), - mr.VolumeName, db_strerror(jcr->db)); + mr.VolumeName, db_strerror(jcr->db)); bnet_fsend(bs, "1991 Catalog Request failed: %s", db_strerror(jcr->db)); - return; + return; } /* Set first written time if this is first job */ if (mr.VolJobs == 0 || sdmr.VolJobs == 1) { - mr.FirstWritten = jcr->start_time; /* use Job start time as first write */ + mr.FirstWritten = jcr->start_time; /* use Job start time as first write */ } Dmsg2(200, "Update media: BefVolJobs=%u After=%u\n", mr.VolJobs, sdmr.VolJobs); /* Copy updated values to original media record */ @@ -275,48 +275,48 @@ next_volume: /* Check limits and expirations if "Append" and not a relable request */ if (strcmp(mr.VolStatus, "Append") == 0 && !relabel) { - /* First handle Max Volume Bytes */ - if ((mr.MaxVolBytes > 0 && mr.VolBytes >= mr.MaxVolBytes)) { + /* First handle Max Volume Bytes */ + if ((mr.MaxVolBytes > 0 && mr.VolBytes >= mr.MaxVolBytes)) { Jmsg(jcr, M_INFO, 0, _("Max Volume bytes exceeded. " "Marking Volume \"%s\" as Full.\n"), mr.VolumeName); strcpy(mr.VolStatus, "Full"); - /* Now see if Volume should only be used once */ - } else if (mr.VolBytes > 0 && jcr->pool->use_volume_once) { + /* Now see if Volume should only be used once */ + } else if (mr.VolBytes > 0 && jcr->pool->use_volume_once) { Jmsg(jcr, M_INFO, 0, _("Volume used once. " "Marking Volume \"%s\" as Used.\n"), mr.VolumeName); strcpy(mr.VolStatus, "Used"); - /* Now see if Max Jobs written to volume */ - } else if (mr.MaxVolJobs > 0 && mr.MaxVolJobs <= mr.VolJobs) { + /* Now see if Max Jobs written to volume */ + } else if (mr.MaxVolJobs > 0 && mr.MaxVolJobs <= mr.VolJobs) { Jmsg(jcr, M_INFO, 0, _("Max Volume jobs exceeded. " "Marking Volume \"%s\" as Used.\n"), mr.VolumeName); strcpy(mr.VolStatus, "Used"); - /* Now see if Max Files written to volume */ - } else if (mr.MaxVolFiles > 0 && mr.MaxVolFiles <= mr.VolFiles) { + /* Now see if Max Files written to volume */ + } else if (mr.MaxVolFiles > 0 && mr.MaxVolFiles <= mr.VolFiles) { Jmsg(jcr, M_INFO, 0, _("Max Volume files exceeded. " "Marking Volume \"%s\" as Used.\n"), mr.VolumeName); strcpy(mr.VolStatus, "Used"); - /* Finally, check Use duration expiration */ - } else if (mr.VolUseDuration > 0) { - utime_t now = time(NULL); - /* See if Vol Use has expired */ - if (mr.VolUseDuration <= (now - mr.FirstWritten)) { + /* Finally, check Use duration expiration */ + } else if (mr.VolUseDuration > 0) { + utime_t now = time(NULL); + /* See if Vol Use has expired */ + if (mr.VolUseDuration <= (now - mr.FirstWritten)) { Jmsg(jcr, M_INFO, 0, _("Max configured use duration exceeded. " "Marking Volume \"%s\"as Used.\n"), mr.VolumeName); strcpy(mr.VolStatus, "Used"); /* yes, mark as used */ - } - } + } + } } Dmsg2(200, "db_update_media_record. Stat=%s Vol=%s\n", mr.VolStatus, mr.VolumeName); if (db_update_media_record(jcr, jcr->db, &mr)) { - bnet_fsend(bs, OK_update); + bnet_fsend(bs, OK_update); Dmsg0(190, "send OK\n"); } else { Jmsg(jcr, M_ERROR, 0, _("Catalog error updating Media record. %s"), - db_strerror(jcr->db)); + db_strerror(jcr->db)); bnet_fsend(bs, "1992 Update Media error\n"); Dmsg0(190, "send error\n"); } @@ -331,14 +331,14 @@ next_volume: jm.JobId = jcr->JobId; jm.MediaId = jcr->MediaId; Dmsg6(100, "create_jobmedia JobId=%d MediaId=%d SF=%d EF=%d FI=%d LI=%d\n", - jm.JobId, jm.MediaId, jm.StartFile, jm.EndFile, jm.FirstIndex, jm.LastIndex); + jm.JobId, jm.MediaId, jm.StartFile, jm.EndFile, jm.FirstIndex, jm.LastIndex); if (!db_create_jobmedia_record(jcr, jcr->db, &jm)) { Jmsg(jcr, M_ERROR, 0, _("Catalog error creating JobMedia record. %s"), - db_strerror(jcr->db)); + db_strerror(jcr->db)); bnet_fsend(bs, "1991 Update JobMedia error\n"); } else { Dmsg0(100, "JobMedia record created\n"); - bnet_fsend(bs, OK_update); + bnet_fsend(bs, OK_update); } } else { @@ -372,12 +372,12 @@ void catalog_update(JCR *jcr, BSOCK *bs, char *msg) if (!jcr->pool->catalog_files) { return; } - db_start_transaction(jcr, jcr->db); /* start transaction if not already open */ - skip_nonspaces(&p); /* UpdCat */ + db_start_transaction(jcr, jcr->db); /* start transaction if not already open */ + skip_nonspaces(&p); /* UpdCat */ skip_spaces(&p); - skip_nonspaces(&p); /* Job=nnn */ + skip_nonspaces(&p); /* Job=nnn */ skip_spaces(&p); - skip_nonspaces(&p); /* FileAttributes */ + skip_nonspaces(&p); /* FileAttributes */ p += 1; unser_begin(p, 0); unser_uint32(VolSessionId); @@ -392,12 +392,12 @@ void catalog_update(JCR *jcr, BSOCK *bs, char *msg) VolSessionId, VolSessionTime, FileIndex, Stream, data_len); if (Stream == STREAM_UNIX_ATTRIBUTES || Stream == STREAM_WIN32_ATTRIBUTES) { - skip_nonspaces(&p); /* skip FileIndex */ + skip_nonspaces(&p); /* skip FileIndex */ skip_spaces(&p); - skip_nonspaces(&p); /* skip FileType */ + skip_nonspaces(&p); /* skip FileType */ skip_spaces(&p); fname = p; - len = strlen(fname); /* length before attributes */ + len = strlen(fname); /* length before attributes */ attr = &fname[len+1]; Dmsg2(109, "dirdFileIndex != FileIndex) { Jmsg(jcr, M_WARNING, 0, "Got MD5/SHA1 but not same File as attributes\n"); } else { - /* Update signature in catalog */ - char SIGbuf[50]; /* 24 bytes should be enough */ - int len, type; - if (Stream == STREAM_MD5_SIGNATURE) { - len = 16; - type = MD5_SIG; - } else { - len = 20; - type = SHA1_SIG; - } - bin_to_base64(SIGbuf, fname, len); + /* Update signature in catalog */ + char SIGbuf[50]; /* 24 bytes should be enough */ + int len, type; + if (Stream == STREAM_MD5_SIGNATURE) { + len = 16; + type = MD5_SIG; + } else { + len = 20; + type = SHA1_SIG; + } + bin_to_base64(SIGbuf, fname, len); Dmsg3(190, "SIGlen=%d SIG=%s type=%d\n", strlen(SIGbuf), SIGbuf, Stream); - if (!db_add_SIG_to_file_record(jcr, jcr->db, jcr->FileId, SIGbuf, type)) { + if (!db_add_SIG_to_file_record(jcr, jcr->db, jcr->FileId, SIGbuf, type)) { Jmsg(jcr, M_ERROR, 0, _("Catalog error updating MD5/SHA1. %s"), - db_strerror(jcr->db)); - } + db_strerror(jcr->db)); + } } } } diff --git a/bacula/src/dird/ua_label.c b/bacula/src/dird/ua_label.c index 09fdae2914..730b6425cb 100644 --- a/bacula/src/dird/ua_label.c +++ b/bacula/src/dird/ua_label.c @@ -487,7 +487,7 @@ static vol_list_t *get_slot_list_from_SD(UAContext *ua) strip_trailing_junk(sd->msg); /* Check for returned SD messages */ - if (sd->msg[0] == '3' && sd->msg[1] == '9' && + if (sd->msg[0] == '3' && B_ISDIGIT(sd->msg[1]) && B_ISDIGIT(sd->msg[2]) && B_ISDIGIT(sd->msg[3]) && sd->msg[4] == ' ') { bsendmsg(ua, "%s\n", sd->msg); /* pass them on to user */ diff --git a/bacula/src/stored/autochanger.c b/bacula/src/stored/autochanger.c index f2f7a596ca..4f9682766f 100644 --- a/bacula/src/stored/autochanger.c +++ b/bacula/src/stored/autochanger.c @@ -74,6 +74,11 @@ int autoload_device(JCR *jcr, DEVICE *dev, int writing, BSOCK *dir) changer = get_pool_memory(PM_FNAME); /* Find out what is loaded, zero means device is unloaded */ + if (dir) { + bnet_fsend(dir, _("3301 Issuing autochanger \"loaded\" command.\n")); + } else { + Jmsg(jcr, M_INFO, 0, _("Issuing autochanger \"loaded\" command.\n")); + } changer = edit_device_codes(jcr, changer, jcr->device->changer_command, "loaded"); status = run_program(changer, timeout, results); @@ -82,10 +87,10 @@ int autoload_device(JCR *jcr, DEVICE *dev, int writing, BSOCK *dir) loaded = atoi(results); } else { if (dir) { - bnet_fsend(dir, _("3991 Bad autochanger \"loaded\" status = %d.\n"), + bnet_fsend(dir, _("3991 Bad autochanger \"loaded\" status=%d.\n"), status); } else { - Jmsg(jcr, M_INFO, 0, _("Bad autochanger \"load slot\" status = %d.\n"), + Jmsg(jcr, M_INFO, 0, _("Bad autochanger \"load slot\" status=%d.\n"), status); } loaded = -1; /* force unload */ @@ -102,7 +107,7 @@ int autoload_device(JCR *jcr, DEVICE *dev, int writing, BSOCK *dir) if (loaded != 0) { /* must unload drive */ Dmsg0(100, "Doing changer unload.\n"); if (dir) { - bnet_fsend(dir, _("3902 Issuing autochanger \"unload\" command.\n")); + bnet_fsend(dir, _("3302 Issuing autochanger \"unload\" command.\n")); } else { Jmsg(jcr, M_INFO, 0, _("Issuing autochanger \"unload\" command.\n")); } @@ -116,28 +121,30 @@ int autoload_device(JCR *jcr, DEVICE *dev, int writing, BSOCK *dir) */ Dmsg1(100, "Doing changer load slot %d\n", slot); if (dir) { - bnet_fsend(dir, _("3903 Issuing autochanger \"load slot %d\" command.\n"), - slot); + bnet_fsend(dir, _("3303 Issuing autochanger \"load slot %d\" command.\n"), + slot); } else { Jmsg(jcr, M_INFO, 0, _("Issuing autochanger \"load slot %d\" command.\n"), - slot); + slot); } changer = edit_device_codes(jcr, changer, jcr->device->changer_command, "load"); status = run_program(changer, timeout, NULL); if (status == 0) { if (dir) { - bnet_fsend(dir, _("3904 Autochanger \"load slot\" status is OK.\n")); + bnet_fsend(dir, _("3304 Autochanger \"load slot %d\" status is OK.\n"), + slot); } else { - Jmsg(jcr, M_INFO, 0, _("Autochanger \"load slot\" status is OK.\n")); + Jmsg(jcr, M_INFO, 0, _("Autochanger \"load slot %d\" status is OK.\n"), + slot); } } else { if (dir) { - bnet_fsend(dir, _("3992 Bad autochanger \"load slot\" status = %d.\n"), - status); + bnet_fsend(dir, _("3992 Bad autochanger \"load slot\" status=%d.\n"), + status); } else { - Jmsg(jcr, M_INFO, 0, _("Bad autochanger \"load slot\" status = %d.\n"), - status); + Jmsg(jcr, M_INFO, 0, _("Bad autochanger \"load slot\" status=%d.\n"), + status); } } Dmsg2(100, "load slot %d status=%d\n", slot, status); @@ -166,7 +173,7 @@ int autochanger_list(JCR *jcr, DEVICE *dev, BSOCK *dir) if (!dev_cap(dev, CAP_AUTOCHANGER) || !jcr->device->changer_name || !jcr->device->changer_command) { - bnet_fsend(dir, _("3993 Not a changer device.\n")); + bnet_fsend(dir, _("3993 Not a autochanger device.\n")); return 0; } @@ -184,7 +191,7 @@ int autochanger_list(JCR *jcr, DEVICE *dev, BSOCK *dir) /* Now list slots occupied */ changer = edit_device_codes(jcr, changer, jcr->device->changer_command, "list"); - bnet_fsend(dir, _("3903 Issuing autochanger \"list\" command.\n")); + bnet_fsend(dir, _("3305 Issuing autochanger \"list\" command.\n")); bpipe = open_bpipe(changer, timeout, "r"); if (!bpipe) { bnet_fsend(dir, _("3994 Open bpipe failed.\n")); diff --git a/bacula/src/stored/mount.c b/bacula/src/stored/mount.c index 39a6fbc907..a332b7a631 100644 --- a/bacula/src/stored/mount.c +++ b/bacula/src/stored/mount.c @@ -188,7 +188,7 @@ read_volume: bstrncpy(jcr->VolumeName, dev->VolHdr.VolName, sizeof(jcr->VolumeName)); if (!dir_get_volume_info(jcr, 1)) { Mmsg(&jcr->errmsg, _("Wanted Volume \"%s\".\n" - " Actual Volume \"%s\" not acceptable because:\n" + " Current Volume \"%s\" not acceptable because:\n" " %s"), dev->VolCatInfo.VolCatName, dev->VolHdr.VolName, jcr->dir_bsock->msg);