]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/append.c
This commit was manufactured by cvs2svn to create tag
[bacula/bacula] / bacula / src / stored / append.c
index 284e9fa71851b802df33b23a2119061cbcbe230e..4c6c12d53b8c5ab0b6e852d58bc97c4c66e98c08 100644 (file)
@@ -8,19 +8,14 @@
    Copyright (C) 2000-2005 Kern Sibbald
 
    This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of
-   the License, or (at your option) any later version.
+   modify it under the terms of the GNU General Public License
+   version 2 as amended with additional clauses defined in the
+   file LICENSE in the main source directory.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public
-   License along with this program; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
+   the file LICENSE for additional details.
 
  */
 
@@ -45,11 +40,22 @@ bool do_append_data(JCR *jcr)
    BSOCK *fd_sock = jcr->file_bsock;
    bool ok = true;
    DEV_RECORD rec;
+   char buf1[100], buf2[100];
    DCR *dcr = jcr->dcr;
-   DEVICE *dev = dcr->dev;
+   DEVICE *dev;
 
 
-   Dmsg0(100, "Start append data.\n");
+   if (!dcr) { 
+      Jmsg0(jcr, M_FATAL, 0, _("DCR is NULL!!!\n"));
+      return false;
+   }                                              
+   dev = dcr->dev;
+   if (!dev) { 
+      Jmsg0(jcr, M_FATAL, 0, _("DEVICE is NULL!!!\n"));
+      return false;
+   }                                              
+
+   Dmsg1(100, "Start append data. res=%d\n", dev->reserved_device);
 
    memset(&rec, 0, sizeof(rec));
 
@@ -57,7 +63,7 @@ bool do_append_data(JCR *jcr)
 
    if (!bnet_set_buffer_size(ds, dcr->device->max_network_buffer_size, BNET_SETBUF_WRITE)) {
       set_jcr_job_status(jcr, JS_ErrorTerminated);
-      Jmsg(jcr, M_FATAL, 0, _("Unable to set network buffer size.\n"));
+      Jmsg0(jcr, M_FATAL, 0, _("Unable to set network buffer size.\n"));
       return false;
    }
 
@@ -70,7 +76,7 @@ bool do_append_data(JCR *jcr)
    dir_send_job_status(jcr);
 
    if (dev->VolCatInfo.VolCatName[0] == 0) {
-      Pmsg0(000, "NULL Volume name. This shouldn't happen!!!\n");
+      Pmsg0(000, _("NULL Volume name. This shouldn't happen!!!\n"));
    }
    Dmsg1(20, "Begin append device=%s\n", dev->print_name());
 
@@ -79,7 +85,7 @@ bool do_append_data(JCR *jcr)
 
    Dmsg0(100, "Just after acquire_device_for_append\n");
    if (dev->VolCatInfo.VolCatName[0] == 0) {
-      Pmsg0(000, "NULL Volume name. This shouldn't happen!!!\n");
+      Pmsg0(000, _("NULL Volume name. This shouldn't happen!!!\n"));
    }
    /*
     * Write Begin Session Record
@@ -91,7 +97,7 @@ bool do_append_data(JCR *jcr)
       ok = false;
    }
    if (dev->VolCatInfo.VolCatName[0] == 0) {
-      Pmsg0(000, "NULL Volume name. This shouldn't happen!!!\n");
+      Pmsg0(000, _("NULL Volume name. This shouldn't happen!!!\n"));
    }
 
    /* Tell File daemon to send data */
@@ -187,7 +193,8 @@ bool do_append_data(JCR *jcr)
          rec.data = ds->msg;            /* use message buffer */
 
          Dmsg4(850, "before writ_rec FI=%d SessId=%d Strm=%s len=%d\n",
-            rec.FileIndex, rec.VolSessionId, stream_to_ascii(rec.Stream,rec.FileIndex),
+            rec.FileIndex, rec.VolSessionId, 
+            stream_to_ascii(buf1, rec.Stream,rec.FileIndex),
             rec.data_len);
 
          while (!write_record_to_block(dcr->block, &rec)) {
@@ -208,10 +215,10 @@ bool do_append_data(JCR *jcr)
          }
          jcr->JobBytes += rec.data_len;   /* increment bytes this job */
          Dmsg4(850, "write_record FI=%s SessId=%d Strm=%s len=%d\n",
-            FI_to_ascii(rec.FileIndex), rec.VolSessionId,
-            stream_to_ascii(rec.Stream, rec.FileIndex), rec.data_len);
+            FI_to_ascii(buf1, rec.FileIndex), rec.VolSessionId,
+            stream_to_ascii(buf2, rec.Stream, rec.FileIndex), rec.data_len);
 
-         /* Send attributes and MD5 to Director for Catalog */
+         /* Send attributes and digest to Director for Catalog */
          if (stream == STREAM_UNIX_ATTRIBUTES    || stream == STREAM_MD5_SIGNATURE ||
              stream == STREAM_UNIX_ATTRIBUTES_EX || stream == STREAM_SHA1_SIGNATURE) {
             if (!jcr->no_attributes) {
@@ -229,9 +236,9 @@ bool do_append_data(JCR *jcr)
                jcr->dir_bsock->spool = false;
             }
          }
-         Dmsg0(350, "Enter bnet_get\n");
+         Dmsg0(650, "Enter bnet_get\n");
       }
-      Dmsg1(350, "End read loop with FD. Stat=%d\n", n);
+      Dmsg1(650, "End read loop with FD. Stat=%d\n", n);
       if (is_bnet_error(ds)) {
          Dmsg1(350, "Network read error from FD. ERR=%s\n", bnet_strerror(ds));
          Jmsg1(jcr, M_FATAL, 0, _("Network error on data channel. ERR=%s\n"),
@@ -245,8 +252,8 @@ bool do_append_data(JCR *jcr)
    set_jcr_job_status(jcr, ok?JS_Terminated:JS_ErrorTerminated);
 
    Dmsg1(200, "Write session label JobStatus=%d\n", jcr->JobStatus);
-   if (dev->VolCatInfo.VolCatName[0] == 0) {
-      Pmsg0(000, "NULL Volume name. This shouldn't happen!!!\n");
+   if ((!ok || job_canceled(jcr)) && dev->VolCatInfo.VolCatName[0] == 0) {
+      Pmsg0(000, _("NULL Volume name. This shouldn't happen!!!\n"));
    }
 
    /*
@@ -261,7 +268,7 @@ bool do_append_data(JCR *jcr)
          ok = false;
       }
       if (dev->VolCatInfo.VolCatName[0] == 0) {
-         Pmsg0(000, "NULL Volume name. This shouldn't happen!!!\n");
+         Pmsg0(000, _("NULL Volume name. This shouldn't happen!!!\n"));
       }
       Dmsg0(90, "back from write_end_session_label()\n");
       /* Flush out final partial block of this session */
@@ -273,7 +280,7 @@ bool do_append_data(JCR *jcr)
       }
    }
    if (dev->VolCatInfo.VolCatName[0] == 0) {
-      Pmsg0(000, "NULL Volume name. This shouldn't happen!!!\n");
+      Pmsg0(000, _("NULL Volume name. This shouldn't happen!!!\n"));
    }
 
    if (!ok) {