]> git.sur5r.net Git - bacula/bacula/commitdiff
1.20 documentation updates + misc
authorKern Sibbald <kern@sibbald.com>
Mon, 27 May 2002 14:36:49 +0000 (14:36 +0000)
committerKern Sibbald <kern@sibbald.com>
Mon, 27 May 2002 14:36:49 +0000 (14:36 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@31 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/ChangeLog
bacula/src/dird/ua_cmds.c
bacula/src/lib/util.c
bacula/src/version.h

index 4123a826250817b2df552ffdd84d9c520dc7aa11..bf7e3d59ee97b8bfee39d21f70ee823b81470019 100644 (file)
@@ -1,3 +1,86 @@
+2002-05-27 Release 1.20
+- Started documenting Catalog Pruning and Recycling.
+  Added catmaintenance.html and recycling.html
+- Fixed the query command bug.
+- Implemented PID files to prevent two copies of Bacula
+  from running at the same time. Be sure you --with-pid-dir
+  points to a working directory.
+- Modified ASSERT() to cause a segmentation violation. This
+  permits a core dump.
+- Worked on gnome-console. It paints better, it tells you if it
+  is ready to accept a command or processing one, and it is
+  almost entirely GTK+ (rather than GNOME, I'm removing GNOME
+  a bit at a time).
+- Limit to 100 the number of tape labeling errors in a single Job.
+- Add some additional ASSERT()s to the database routines. I don't
+  like ASSERTs but they do catch bugs.
+- Tested and debugged recycling of Volumes.  Needed to change
+  the Director-SD protocol slightly.
+- Removed the experimental SIGHUP in the Director as it is a
+  potential source of errors.
+- Added Level, Pool, Messages, and Storage keyword/value scanning
+  to the Schedule Run record.
+- Improved printing of Schedule resources with "show schedules"
+- Do not autoprune Jobs/Files if the Job errs.
+- Updated newvol() to pass back the updated Media record.   
+- Fixed the "update pool" command, which was broken during a much
+  earlier code reorganization.
+- Improved a few of the pruning messages.
+- Removed readline inclusions from gnome-console (hang over from console).
+- Make Jmsg use daemon message handler if no message handler is defined.
+  This is always the case in the SD and FD.
+- Started removing __PROTO(). With C++ prototypes are manditory, so why
+  keep around legacy code.
+- Added a good deal of message internationalization -- more to be done.
+- Move cached Path into mdb structure and use POOLMEM.
+- Fix verify bug introduced last update causing incorrect diffs 
+  by turning off autopruning.
+- Started adding code to distinguish Errors from Fatal Errors.
+- Errors are now counted in message.c for a Job.
+- More POOLMEM cleanups.
+- Implemented Automatic pruning.
+- Implemented Automatic recycling of Volumes.
+- Added PruneJobs/Files/Volumes=yes or no to Job resource. If set,
+  it forces the specified pruning.
+- Modified rwlock to accept multiple nested write lock
+  requests.
+- Modified the cats directory to use the new rwlock mechanism
+  in place of P() and V(). 
+- Defined db_lock(mdb) and db_unlock(mdb). They are in effect
+  transaction locks. 
+- Add CVS Id's to most files.
+- Made first cut at AutoPrune
+- Added new autoprune file that is called at the end of
+  each Job. It then decides when and what to prune and
+  calls the UA prune routines.
+- Modified Run (in Schedule resource) to permit overrides of
+  Level, Pool, Storage, and Messages. (not tested).
+- Added more POOLMEM in place of char.
+- Implemented daemon pid files. This prevents multiple 
+  daemons from running simultaneously. You can run multiple
+  daemons if they listen on different ports.
+- Documented the Schedule resource a bit better.
+- Began gently adding a POOLMEM type (perviously void).
+  For the moment it is a #define to char, but long term
+  it should be its own typedef.
+- Corrected a bit of spacing on the status bar of gnome-console
+- Added Admin and Archive Job types.
+- Implemented multiple Messages resources. Each daemon has
+  its own message resource, which defaults if not defined.
+  Jobs may now have different message handlers.
+- Cleaned up a bit of duplicate code in backup, verify, and
+  restore by creating appropriate subroutines in job.c
+- Added Type, Client, FileSet, and Level resource record
+  definitions to the Director. These can be used in place
+  of the Backup = ..., Verify = ..., ... commands.  This needs
+  documenting.
+- Corrected an incorrect message in the prune code and added
+  the number of Files pruned in the message.
+- Corrected several paint problems with gnome-console.
+- Added a bit of printout in signal handler during traceback.
+- Cleaned up most of sm_check() to be turned on/off by define
+  in version.h
+
 2002-05-10 Release 1.19
 - Allow the user to select a new period for pruning.
 - Lots of additions to the manual -- prune and purge
index 6f4b7f09d52f2f3749d3b27ee5e3fe94f5b769b7..bb683b4a7cec13bdb1072a30e00229cc5462554b 100644 (file)
@@ -568,7 +568,7 @@ static int update_volume(UAContext *ua)
    static char *kw[] = {
       "volume",
       NULL};
-   char *query;
+   POOLMEM *query;
    char ed1[30];
 
    memset(&pr, 0, sizeof(pr));
@@ -600,6 +600,7 @@ static int update_volume(UAContext *ua)
       start_prompt(ua, _("Parameters to modify:\n"));
       add_prompt(ua, _("Volume Status"));
       add_prompt(ua, _("Volume Retention"));
+      add_prompt(ua, _("Recycle"));
       add_prompt(ua, _("Done"));
       switch (do_prompt(ua, _("Select paramter to modify"), NULL)) {
       case 0:                        /* Volume Status */
@@ -618,7 +619,7 @@ static int update_volume(UAContext *ua)
            return 1;
         }
         strcpy(mr.VolStatus, ua->cmd);
-        query = (char *)get_pool_memory(PM_MESSAGE);
+        query = get_pool_memory(PM_MESSAGE);
          Mmsg(&query, "UPDATE Media SET VolStatus=\"%s\" WHERE MediaId=%d",
            mr.VolStatus, mr.MediaId);
         if (!db_sql_query(ua->db, query, NULL, NULL)) {  
@@ -636,7 +637,7 @@ static int update_volume(UAContext *ua)
             bsendmsg(ua, _("Invalid retention period specified.\n"));
            break;
         }
-        query = (char *)get_pool_memory(PM_MESSAGE);
+        query = get_pool_memory(PM_MESSAGE);
          Mmsg(&query, "UPDATE Media SET VolRetention=%s WHERE MediaId=%d",
            edit_uint64(mr.VolRetention, ed1), mr.MediaId);
         if (!db_sql_query(ua->db, query, NULL, NULL)) {  
@@ -644,6 +645,30 @@ static int update_volume(UAContext *ua)
         }       
         free_pool_memory(query);
         break;
+      case 2:                        /* Recycle */
+        int recycle;
+         bsendmsg(ua, _("Current value is: %s\n"),
+            mr.Recycle==1?_("yes"):_("no"));
+         if (!get_cmd(ua, _("Enter new Recycle status: "))) {
+           return 0;
+        }
+         if (strcasecmp(ua->cmd, _("yes")) == 0) {
+           recycle = 1;
+         } else if (strcasecmp(ua->cmd, _("no")) == 0) {
+           recycle = 0;
+        } else {
+            bsendmsg(ua, _("Invalid recycle status specified.\n"));
+           break;
+        }
+        query = get_pool_memory(PM_MESSAGE);
+         Mmsg(&query, "UPDATE Media SET Recycle=%d WHERE MediaId=%d",
+           recycle, mr.MediaId);
+        if (!db_sql_query(ua->db, query, NULL, NULL)) {  
+            bsendmsg(ua, "%s", db_strerror(ua->db));
+        }       
+        free_pool_memory(query);
+        break;
+        
       default:                       /* Done or error */
         return 0;
       }
index b8e58033788b1fd3f56ef1b45fb238bf1ef10daf..611903dcd20d04f0f2b0b24ed5c89af48debcb84 100644 (file)
@@ -43,7 +43,7 @@ int string_to_btime(char *str, btime_t *value)
 {
    int i, ch, len;
    btime_t val;
-   static int  mod[] = {'*', 's', 'm', 'h', 'd', 'w', 'o', 'q', 'y', 0};
+   static int  mod[] = {'*', 's', 'n', 'h', 'd', 'w', 'm', 'q', 'y', 0};
    static int mult[] = {1,    1,  60, 60*60, 60*60*24, 60*60*24*7, 60*60*24*30, 
                  60*60*24*91, 60*60*24*365};
 
index 4ad45a44c01a02cd8318803f023d9993f7b0c778..fbf94e1f31107ec8bbf7611c29c9c96ec2d36816 100644 (file)
@@ -1,8 +1,8 @@
 /* */
 #define VERSION "1.20"
 #define VSTRING "1"
-#define DATE    "25 May 2002"
-#define LSMDATE "25May02"
+#define DATE    "26 May 2002"
+#define LSMDATE "26May02"
 
 /* Debug flags */
 #define DEBUG 1