]> git.sur5r.net Git - bacula/bacula/commitdiff
- Apply Martin's patch for fixing console modifications to Verify Jobs.
authorKern Sibbald <kern@sibbald.com>
Thu, 30 Sep 2004 14:15:05 +0000 (14:15 +0000)
committerKern Sibbald <kern@sibbald.com>
Thu, 30 Sep 2004 14:15:05 +0000 (14:15 +0000)
- Fix Win32 so that it can backup files that are opened by programs
  such as Word (certain open system files cannot be backed up).

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

bacula/ReleaseNotes
bacula/kernstodo
bacula/src/dird/job.c
bacula/src/dird/ua_run.c
bacula/src/dird/verify.c
bacula/src/findlib/bfile.c
bacula/src/jcr.h
bacula/src/version.h

index 5a024f2a11613b3798346c36de6c4e4b821721a5..1da6e9aada29be1a269ba1342f8a407976859378 100644 (file)
@@ -1,13 +1,14 @@
 
-          Release Notes for Bacula 1.35.5
+          Release Notes for Bacula 1.35.6
 
-  Bacula code: Total files = 395 Total lines = 115,062 (*.h *.c *.in)
+  Bacula code: Total files = 396 Total lines = 116,116 (*.h *.c *.in)
 
 
 Changes for 1.35.5
 Major Changes:
 - Tray monitor program
 - Bacula Rescue CDROM     
+- Bacula CD Image Manager
 - Lots of improvements in the Rescue scripts -- better 
   network detection, better mounting code, ...
 - General bug fixes/stabilization
index 2b1a10ec9d0a6d2e84c70a477dbaec7072763a8d..2374bb5ed7c2b623c572f742ffde98eae3ed948a 100644 (file)
@@ -17,13 +17,12 @@ Version 1.35                Kern (see below)
   block numbers in btape "test".  Possibly adjust in Bacula.
 - Fix possible bug in update volumefrompool (email 9/28 from
   jesk@killall.org
-- Fix storage overrides in Run directives.
+- Look into failing Excludes in Win32
 
 - Document a get out of jail procedure if everything breaks if 
   you lost/broke the Catalog -- do the same for "I know my
   file is there how do I get it back?".
 
-- Add "Rerun failed levels = yes/no" to Job resource.
 
    
 Maybe for 1.35:
@@ -34,6 +33,8 @@ Maybe for 1.35:
 - Add IPv6 to regression
 - Perhaps add read/write programs and/or plugins to FileSets.
 - How to handle backing up portables ...
+- Add "Rerun failed levels = yes/no" to Job resource.
+- Add some sort of guaranteed Interval for upgrading jobs.
 
 Documentation to do: (any release a little bit at a time)
 - Alternative to static linking "ldd prog" save all binaries listed,
@@ -68,6 +69,8 @@ Testing to do: (painful)
 
 
 For 1.37 Testing/Documentation:
+- Fix list volumes to output volume retention in some other
+  units, perhaps via a directive.
 - If opening a tape in read/write mode fails attempt to open
   it in read-only mode, and mark the tape for read only.
 - Add a read-only mode to the mount option.
@@ -1363,3 +1366,4 @@ Block Position: 0
 - Fix bscan so that it releases the drive when requesting a new tape.
 - List verify options for DiskToCatalog in doc.
 - Turn on transactions if multiple connections are on in DB.
+- Fix storage overrides in Run directives.
index f909cf23fbb66486689393f196e2beb014ce06e6..4dbef213882f55d39df110c730df63156a2bbb66 100644 (file)
@@ -772,6 +772,8 @@ void set_jcr_defaults(JCR *jcr, JOB *job)
    if (job->RestoreBootstrap) {
       jcr->RestoreBootstrap = bstrdup(job->RestoreBootstrap);
    }
+   /* This can be overridden by Console program */
+   jcr->verify_job = job->verify_job;
    /* If no default level given, set one */
    if (jcr->JobLevel == 0) {
       switch (jcr->JobType) {
index 7078d2f95e4eb26cdd73077a481a0240e7652476..592cef898f8554915163205e548cdd9043710d9f 100644 (file)
@@ -369,6 +369,7 @@ int run_cmd(UAContext *ua, const char *cmd)
    jcr = new_jcr(sizeof(JCR), dird_free_jcr);
    set_jcr_defaults(jcr, job);
 
+   jcr->verify_job = verify_job;
    jcr->store = store;
    jcr->client = client;
    jcr->fileset = fileset;
@@ -492,8 +493,8 @@ Priority: %d\n"),
                 jcr->JobPriority);
       } else { /* JT_VERIFY */
         const char *Name;
-        if (jcr->job->verify_job) {
-           Name = jcr->job->verify_job->hdr.name;
+        if (jcr->verify_job) {
+           Name = jcr->verify_job->hdr.name;
         } else {
             Name = "";
         }
@@ -768,11 +769,9 @@ Priority:   %d\n"),
       case 8:
         /* Verify Job */
         if (jcr->JobType == JT_VERIFY) {
-           JOB *job = select_job_resource(ua);
-           if (job) {
-              jcr->job->verify_job = job;
-           } else {
-              jcr->job->verify_job = NULL;
+           verify_job = select_job_resource(ua);
+           if (verify_job) {
+             jcr->verify_job = verify_job;
            }
            goto try_again;
         }
index cfbef326251c2757c357ac291247da157a1ae6c3..582f2372315bc4807b1e451dd3d310cb3652cbcf 100644 (file)
@@ -90,10 +90,10 @@ bool do_verify(JCR *jcr)
        jcr->JobLevel == L_VERIFY_VOLUME_TO_CATALOG ||
        jcr->JobLevel == L_VERIFY_DISK_TO_CATALOG) {
       memcpy(&jr, &jcr->jr, sizeof(jr));
-      if (jcr->job->verify_job &&
+      if (jcr->verify_job &&
          (jcr->JobLevel == L_VERIFY_VOLUME_TO_CATALOG ||
           jcr->JobLevel == L_VERIFY_DISK_TO_CATALOG)) {
-        Name = jcr->job->verify_job->hdr.name;
+        Name = jcr->verify_job->hdr.name;
       } else {
         Name = NULL;
       }
@@ -204,8 +204,8 @@ bool do_verify(JCR *jcr)
       jcr->sd_auth_key = bstrdup("dummy");    /* dummy Storage daemon key */
    }
 
-   if (jcr->JobLevel == L_VERIFY_DISK_TO_CATALOG && jcr->job->verify_job) {
-      jcr->fileset = jcr->job->verify_job->fileset;
+   if (jcr->JobLevel == L_VERIFY_DISK_TO_CATALOG && jcr->verify_job) {
+      jcr->fileset = jcr->verify_job->fileset;
    }
    Dmsg2(100, "ClientId=%u JobLevel=%c\n", verify_jr.ClientId, jcr->JobLevel);
 
@@ -409,8 +409,8 @@ static void verify_cleanup(JCR *jcr, int TermCode)
    }
    bstrftime(sdt, sizeof(sdt), jcr->jr.StartTime);
    bstrftime(edt, sizeof(edt), jcr->jr.EndTime);
-   if (jcr->job->verify_job) {
-      Name = jcr->job->verify_job->hdr.name;
+   if (jcr->verify_job) {
+      Name = jcr->verify_job->hdr.name;
    } else {
       Name = "";
    }
index 9c50c4beef2b3cc12c3a7e96a05991cff6e795bf..9197233da368f8fca3b315ffe32759652e8ca1b4 100644 (file)
@@ -246,7 +246,7 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode)
       }
       bfd->fh = CreateFile(win32_fname,
             dwaccess,                /* Requested access */
-            FILE_SHARE_READ,         /* Shared mode */
+            FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
             NULL,                    /* SecurityAttributes */
             OPEN_EXISTING,           /* CreationDisposition */
             dwflags,                 /* Flags and attributes */
index 330d5f49ac0b55e1e46ac287636338cefd2020a5..80c52f4e55f6f33026ae74843972f08aa8c7fc35 100644 (file)
@@ -149,6 +149,7 @@ struct JCR {
    volatile bool sd_msg_thread_done;  /* Set when Storage message thread terms */
    BSOCK *ua;                         /* User agent */
    JOB *job;                          /* Job resource */
+   JOB *verify_job;                   /* Job resource of verify target job */
    alist *storage[MAX_STORE];         /* Storage possibilities */
    STORE *store;                      /* Storage daemon selected */
    CLIENT *client;                    /* Client resource */
index 22e3efa73765c27a8a57db8abf5b0ac4af5fdae4..95bcb0d1c0572583836a828778b3bf32d3aec345 100644 (file)
@@ -1,8 +1,8 @@
 /* */
 #undef  VERSION
-#define VERSION "1.35.5"
-#define BDATE   "29 September 2004"
-#define LSMDATE "29Sep04"
+#define VERSION "1.35.6"
+#define BDATE   "30 September 2004"
+#define LSMDATE "30Sep04"
 
 /* Debug flags */
 #undef  DEBUG