From: Eric Bollengier Date: Tue, 8 Apr 2008 18:54:40 +0000 (+0000) Subject: ebl Fix negative VolWriteTime value during UpdateMedia X-Git-Tag: Release-2.2.9-b7~15 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d1b2ee5626c40e7d99a95e68d0c658f5c5090201;p=bacula%2Fbacula ebl Fix negative VolWriteTime value during UpdateMedia git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/branches/Branch-2.2@6761 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/dird/catreq.c b/bacula/src/dird/catreq.c index dcc58a48a5..52fc914cd2 100644 --- a/bacula/src/dird/catreq.c +++ b/bacula/src/dird/catreq.c @@ -56,7 +56,7 @@ static char Get_Vol_Info[] = "CatReq Job=%127s GetVolInfo VolName=%127s write=%d static char Update_media[] = "CatReq Job=%127s UpdateMedia VolName=%s" " VolJobs=%u VolFiles=%u VolBlocks=%u VolBytes=%" lld " VolMounts=%u" " VolErrors=%u VolWrites=%u MaxVolBytes=%" lld " EndTime=%d VolStatus=%10s" - " Slot=%d relabel=%d InChanger=%d VolReadTime=%" lld " VolWriteTime=%" lld + " Slot=%d relabel=%d InChanger=%d VolReadTime=%s VolWriteTime=%s" " VolFirstWritten=%" lld " VolParts=%u\n"; static char Create_job_media[] = "CatReq Job=%127s CreateJobMedia " @@ -103,6 +103,7 @@ static int send_volume_info_to_storage_daemon(JCR *jcr, BSOCK *sd, MEDIA_DBR *mr void catalog_request(JCR *jcr, BSOCK *bs) { + char ed_vrt[50], ed_vwt[50]; MEDIA_DBR mr, sdmr; JOBMEDIA_DBR jm; char Job[MAX_NAME_LENGTH]; @@ -218,8 +219,11 @@ void catalog_request(JCR *jcr, BSOCK *bs) &sdmr.VolJobs, &sdmr.VolFiles, &sdmr.VolBlocks, &sdmr.VolBytes, &sdmr.VolMounts, &sdmr.VolErrors, &sdmr.VolWrites, &sdmr.MaxVolBytes, &sdmr.LastWritten, &sdmr.VolStatus, &sdmr.Slot, &label, &sdmr.InChanger, - &sdmr.VolReadTime, &sdmr.VolWriteTime, &VolFirstWritten, + ed_vrt, ed_vwt, &VolFirstWritten, &sdmr.VolParts) == 19) { + + sdmr.VolReadTime = str_to_int64(ed_vrt); + sdmr.VolWriteTime = str_to_int64(ed_vwt); db_lock(jcr->db); Dmsg3(400, "Update media %s oldStat=%s newStat=%s\n", sdmr.VolumeName, diff --git a/bacula/src/stored/askdir.c b/bacula/src/stored/askdir.c index c5adcdbe5f..2224b4a780 100644 --- a/bacula/src/stored/askdir.c +++ b/bacula/src/stored/askdir.c @@ -56,7 +56,7 @@ static char OK_media[] = "1000 OK VolName=%127s VolJobs=%u VolFiles=%lu" " VolBlocks=%lu VolBytes=%lld VolMounts=%lu VolErrors=%lu VolWrites=%lu" " MaxVolBytes=%lld VolCapacityBytes=%lld VolStatus=%20s" " Slot=%ld MaxVolJobs=%lu MaxVolFiles=%lu InChanger=%ld" - " VolReadTime=%lld VolWriteTime=%lld EndFile=%lu EndBlock=%lu" + " VolReadTime=%s VolWriteTime=%s EndFile=%lu EndBlock=%lu" " VolParts=%lu LabelType=%ld MediaId=%lld\n"; @@ -167,6 +167,7 @@ bool dir_send_job_status(JCR *jcr) */ static bool do_get_volume_info(DCR *dcr) { + char ed_vrt[50], ed_vwt[50]; JCR *jcr = dcr->jcr; BSOCK *dir = jcr->dir_bsock; VOLUME_CAT_INFO vol; @@ -187,7 +188,7 @@ static bool do_get_volume_info(DCR *dcr) &vol.VolCatWrites, &vol.VolCatMaxBytes, &vol.VolCatCapacityBytes, vol.VolCatStatus, &vol.Slot, &vol.VolCatMaxJobs, &vol.VolCatMaxFiles, - &InChanger, &vol.VolReadTime, &vol.VolWriteTime, + &InChanger, ed_vrt, ed_vwt, &vol.EndFile, &vol.EndBlock, &vol.VolCatParts, &vol.LabelType, &vol.VolMediaId); if (n != 22) { @@ -196,6 +197,8 @@ static bool do_get_volume_info(DCR *dcr) Mmsg(jcr->errmsg, _("Error getting Volume info: %s"), dir->msg); return false; } + vol.VolReadTime = str_to_int64(ed_vrt); + vol.VolWriteTime = str_to_int64(ed_vwt); vol.InChanger = InChanger; /* bool in structure */ unbash_spaces(vol.VolCatName); bstrncpy(dcr->VolumeName, vol.VolCatName, sizeof(dcr->VolumeName)); diff --git a/bacula/technotes-2.1 b/bacula/technotes-2.1 index 13148860f7..4ef473a2d6 100644 --- a/bacula/technotes-2.1 +++ b/bacula/technotes-2.1 @@ -1,6 +1,8 @@ Technical notes on version 2.2 General: +08Apr08 +ebl Fix negative VolWriteTime value during UpdateMedia 06Apr08 kes Eliminate ./configure warning on po directory kes Fix bug #1063, reuse of freed ptr in list nextvol.