]> git.sur5r.net Git - bacula/bacula/commitdiff
20Dec08
authorKern Sibbald <kern@sibbald.com>
Sat, 20 Dec 2008 10:03:36 +0000 (10:03 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 20 Dec 2008 10:03:36 +0000 (10:03 +0000)
kes  Correct typo in Win32 Makefile editing
kes  Correct typos in debug output.
kes  Improved error detection in creating bsrs.
kes  Add debug code to Win32 restore
19Dec08
kes  Fix Win32 build.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8196 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/dird/job.c
bacula/src/filed/job.c
bacula/src/findlib/bfile.c
bacula/src/lib/message.c
bacula/src/stored/parse_bsr.c
bacula/src/version.h
bacula/technotes-2.5

index 5ca2141e3d46df75651b6ca1566771624644cd56..8a88516bb138d5a850d2bad083e94857d3621d6e 100644 (file)
@@ -1364,20 +1364,25 @@ bool create_restore_bootstrap_file(JCR *jcr)
    rx.JobIds = (char *)"";                       
    rx.bsr->JobId = jcr->previous_jr.JobId;
    ua = new_ua_context(jcr);
-   complete_bsr(ua, rx.bsr);
+   if (!complete_bsr(ua, rx.bsr)) {
+      goto bail_out;
+   }
    rx.bsr->fi = new_findex();
    rx.bsr->fi->findex = 1;
    rx.bsr->fi->findex2 = jcr->previous_jr.JobFiles;
    jcr->ExpectedFiles = write_bsr_file(ua, rx);
    if (jcr->ExpectedFiles == 0) {
-      free_ua_context(ua);
-      free_bsr(rx.bsr);
-      return false;
+      goto bail_out;
    }
    free_ua_context(ua);
    free_bsr(rx.bsr);
    jcr->needs_sd = true;
    return true;
+
+bail_out:
+   free_ua_context(ua);
+   free_bsr(rx.bsr);
+   return false;
 }
 
 /* TODO: redirect command ouput to job log */
index e258fce8adfc309569d4825c2ae1531bb1796538..62dc2d22ed0d33b9f135d810564e3c6f3c4a38cb 100644 (file)
@@ -1437,7 +1437,7 @@ static int backup_cmd(JCR *jcr)
    }
 
    dir->fsend(OKbackup);
-   Dmsg1(110, "bfiled>dird: %s", dir->msg);
+   Dmsg1(110, "filed>dird: %s", dir->msg);
 
    /*
     * Send Append Open Session to Storage daemon
@@ -1629,7 +1629,7 @@ static int verify_cmd(JCR *jcr)
    generate_plugin_event(jcr, bEventLevel, (void *)jcr->get_JobLevel());
    generate_plugin_event(jcr, bEventStartVerifyJob);
 
-   Dmsg1(110, "bfiled>dird: %s", dir->msg);
+   Dmsg1(110, "filed>dird: %s", dir->msg);
 
    switch (jcr->get_JobLevel()) {
    case L_VERIFY_INIT:
@@ -1647,7 +1647,7 @@ static int verify_cmd(JCR *jcr)
        * Send Close session command to Storage daemon
        */
       sd->fsend(read_close, jcr->Ticket);
-      Dmsg1(130, "bfiled>stored: %s", sd->msg);
+      Dmsg1(130, "filed>stored: %s", sd->msg);
 
       /* ****FIXME**** check response */
       bget_msg(sd);                      /* get OK */
@@ -1725,7 +1725,7 @@ static int restore_cmd(JCR *jcr)
    jcr->prefix_links = prefix_links;
 
    dir->fsend(OKrestore);
-   Dmsg1(110, "bfiled>dird: %s", dir->msg);
+   Dmsg1(110, "filed>dird: %s", dir->msg);
 
    jcr->set_JobType(JT_RESTORE);
 
@@ -1756,7 +1756,7 @@ static int restore_cmd(JCR *jcr)
     * Send Close session command to Storage daemon
     */
    sd->fsend(read_close, jcr->Ticket);
-   Dmsg1(130, "bfiled>stored: %s", sd->msg);
+   Dmsg1(130, "filed>stored: %s", sd->msg);
 
    bget_msg(sd);                      /* get OK */
 
@@ -1797,12 +1797,12 @@ static int open_sd_read_session(JCR *jcr)
     * Get ticket number
     */
    if (bget_msg(sd) >= 0) {
-      Dmsg1(110, "bfiled<stored: %s", sd->msg);
+      Dmsg1(110, "filed<stored: %s", sd->msg);
       if (sscanf(sd->msg, OK_open, &jcr->Ticket) != 1) {
          Jmsg(jcr, M_FATAL, 0, _("Bad response to SD read open: %s\n"), sd->msg);
          return 0;
       }
-      Dmsg1(110, "bfiled: got Ticket=%d\n", jcr->Ticket);
+      Dmsg1(110, "filed: got Ticket=%d\n", jcr->Ticket);
    } else {
       Jmsg(jcr, M_FATAL, 0, _("Bad response from stored to read open command\n"));
       return 0;
index f7a65f0b2b007cb83ca00a13899f731efacd7025..03597b4cd63c3abf18657a4a2f505a81c7cc78ca 100644 (file)
@@ -473,13 +473,16 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode)
       free_pool_memory(win32_fname);
       return bfd->mode == BF_CLOSED ? -1 : 1;
    }
-   Dmsg0(50, "=== NOT plugin\n");
+   Dmsg0(50, "=== NO plugin\n");
 
-   if (!(p_CreateFileA || p_CreateFileW))
+   if (!(p_CreateFileA || p_CreateFileW)) {
+      Dmsg0(50, "No CreateFileA and no CreateFileW!!!!!\n");
       return 0;
+   }
 
-   if (p_CreateFileW && p_MultiByteToWideChar)
+   if (p_CreateFileW && p_MultiByteToWideChar) {
       make_win32_path_UTF8_2_wchar(&win32_fname_wchar, fname);
+   }
 
    if (flags & O_CREAT) {             /* Create */
       if (bfd->use_backup_api) {
@@ -492,6 +495,7 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode)
 
       if (p_CreateFileW && p_MultiByteToWideChar) {   
          // unicode open for create write
+         Dmsg1(100, "Create CreateFileW=%s\n", win32_fname);
          bfd->fh = p_CreateFileW((LPCWSTR)win32_fname_wchar,
                 dwaccess,                /* Requested access */
                 0,                       /* Shared mode */
@@ -501,6 +505,7 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode)
                 NULL);                   /* TemplateFile */
       } else {
          // ascii open
+         Dmsg1(100, "Create CreateFileA=%s\n", win32_fname);
          bfd->fh = p_CreateFileA(win32_fname,
                 dwaccess,                /* Requested access */
                 0,                       /* Shared mode */
@@ -523,6 +528,7 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode)
 
       if (p_CreateFileW && p_MultiByteToWideChar) {   
          // unicode open for open existing write
+         Dmsg1(100, "Write only CreateFileW=%s\n", win32_fname);
          bfd->fh = p_CreateFileW((LPCWSTR)win32_fname_wchar,
                 dwaccess,                /* Requested access */
                 0,                       /* Shared mode */
@@ -532,6 +538,7 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode)
                 NULL);                   /* TemplateFile */
       } else {
          // ascii open
+         Dmsg1(100, "Write only CreateFileA=%s\n", win32_fname);
          bfd->fh = p_CreateFileA(win32_fname,
                 dwaccess,                /* Requested access */
                 0,                       /* Shared mode */
@@ -558,6 +565,7 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode)
 
       if (p_CreateFileW && p_MultiByteToWideChar) {   
          // unicode open for open existing read
+         Dmsg1(100, "Read CreateFileW=%s\n", win32_fname);
          bfd->fh = p_CreateFileW((LPCWSTR)win32_fname_wchar,
                 dwaccess,                /* Requested access */
                 dwshare,                 /* Share modes */
@@ -567,6 +575,7 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode)
                 NULL);                   /* TemplateFile */
       } else {
          // ascii open 
+         Dmsg1(100, "Read CreateFileA=%s\n", win32_fname);
          bfd->fh = p_CreateFileA(win32_fname,
                 dwaccess,                /* Requested access */
                 dwshare,                 /* Share modes */
index 1371bbc05fea1254595b4c739ad6b48f3d343ddf..24a25f32d837a2408f4dc3de993c63bf78cc9123 100644 (file)
@@ -889,7 +889,7 @@ d_msg(const char *file, int line, int level, const char *fmt,...)
        if (trace) {
           if (!trace_fd) {
              char fn[200];
-             bsnprintf(fn, sizeof(fn), "%s/%s.trace", working_directory ? working_directory : ".", my_name);
+             bsnprintf(fn, sizeof(fn), "%s/%s.trace", working_directory ? working_directory : "./", my_name);
              trace_fd = fopen(fn, "a+b");
           }
           if (trace_fd) {
index b2790e7f6a961cbcd68604551223d5b9feddc883..3798435217333ad585587f122d2a4a69a691a7ac 100644 (file)
@@ -1,14 +1,7 @@
-/*
- *   Parse a Bootstrap Records (used for restores)
- *
- *     Kern Sibbald, June MMII
- *
- *   Version $Id$
- */
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2002-2006 Free Software Foundation Europe e.V.
+   Copyright (C) 2002-2008 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+ *   Parse a Bootstrap Records (used for restores)
+ *
+ *     Kern Sibbald, June MMII
+ *
+ *   Version $Id$
+ */
 
 
 #include "bacula.h"
index 68dfa653bfcd01f1963bf8fa4b83cf86c09782ec..11feae3fe4664f775aac28f9299fa031b376a26b 100644 (file)
@@ -3,9 +3,9 @@
  */
 
 #undef  VERSION
-#define VERSION "2.5.24"
-#define BDATE   "16 December 2008"
-#define LSMDATE "16Dec08"
+#define VERSION "2.5.25"
+#define BDATE   "20 December 2008"
+#define LSMDATE "20Dec08"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2008 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2008"       /* year for copyright messages in progs */
index b57b9ecaaa00c26f5aee5f4d66f070bc602640d2..a2b6607762a107ccf6ad57b99ea2274265b44c55 100644 (file)
@@ -10,7 +10,13 @@ filepattern (restore with regex in bsr)
 mixed priorities
 
 General:
+20Dec08
+kes  Correct typo in Win32 Makefile editing
+kes  Correct typos in debug output.
+kes  Improved error detection in creating bsrs.
+kes  Add debug code to Win32 restore
 19Dec08
+kes  Fix Win32 build.
 ebl  Cleanup director VolParam struct
 18Dec08
 ebl  Replace File:Block in BSR by Address to fix #1190