]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl Fix a volume update error.
authorEric Bollengier <eric@eb.homelinux.org>
Tue, 8 Apr 2008 18:44:37 +0000 (18:44 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Tue, 8 Apr 2008 18:44:37 +0000 (18:44 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6758 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/dird/catreq.c
bacula/src/stored/askdir.c
bacula/technotes-2.3

index ee1d059c0643261d66a32ae4b8b9f6528202e8d4..5089c0d58ef67aa21e1192bb8460e53d3780afa3 100644 (file)
@@ -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=%lld 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];
@@ -219,9 +220,12 @@ void catalog_request(JCR *jcr, BSOCK *bs)
       &sdmr.VolJobs, &sdmr.VolFiles, &sdmr.VolBlocks, &sdmr.VolBytes,
       &sdmr.VolMounts, &sdmr.VolErrors, &sdmr.VolWrites, &sdmr.MaxVolBytes,
       &VolLastWritten, &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,
          mr.VolStatus, sdmr.VolStatus);
index 96ba8d1de0e628fa20eaf1834082ff8c7478083b..48c30d5c7a1673e314bcffbf400d4f1145d1a654 100644 (file)
@@ -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));
index e034899c83e55bdb11aef03c06d32dcfae80925d..4d49b5d8d907bc45dec08913ec086a3d28ffdcf5 100644 (file)
@@ -24,6 +24,8 @@ Add long term statistics job table
 
 
 General:
+08Apr08
+ebl  Fix a catalog query error while trying to update Volume information.
 06Apr08
 kes  Correctly detect Ubuntu systems, and add ubuntu platform directory.
 kes  Fix bug #1063, reuse of freed ptr in list nextvol.