]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Improve SD reserve debug code.
authorKern Sibbald <kern@sibbald.com>
Wed, 7 May 2008 19:18:32 +0000 (19:18 +0000)
committerKern Sibbald <kern@sibbald.com>
Wed, 7 May 2008 19:18:32 +0000 (19:18 +0000)
kes  Testing an improvement to free up volumes no longer in use.

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

bacula/src/stored/acquire.c
bacula/src/stored/askdir.c
bacula/src/stored/protos.h
bacula/src/stored/reserve.c
bacula/src/version.h
bacula/technotes-2.3

index 1d0d8a4ed347da0c4ec0e4e1d78ad445d580bbb1..63c784c505e07c4f4fd5bb1b05e0b75ff474ff1a 100644 (file)
@@ -492,7 +492,8 @@ bool release_device(DCR *dcr)
             Dmsg2(200, "dir_update_vol_info. Release vol=%s dev=%s\n", 
                   dev->VolCatInfo.VolCatName, dev->print_name());
          }
-         if (!dev->is_busy()) {               /* if not being used */
+         if (dev->num_writers == 0) {         /* if not being used */
+//       if (!dev->is_busy()) {               /* if not being used */
             volume_unused(dcr);               /*  we obviously are not using the volume */
          }
       }
@@ -506,6 +507,10 @@ bool release_device(DCR *dcr)
       volume_unused(dcr);
    }
    unlock_volumes();
+   Dmsg3(100, "%d writers, %d reserve, dev=%s\n", dev->num_writers, dev->num_reserved(),
+         dev->print_name());
+   debug_list_volumes("acquire:release_device()");
+
 
    /* If no writers, close if file or !CAP_ALWAYS_OPEN */
    if (dev->num_writers == 0 && (!dev->is_tape() || !dev->has_cap(CAP_ALWAYSOPEN))) {
index cf23a4fd9aba34457c877312ee945256444e972d..3b83ca961fb3402bcd8f5a416ca1116c45d820c7 100644 (file)
@@ -498,7 +498,7 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
          return true;
       } else {
          if (stat == W_TIMEOUT || stat == W_MOUNT) {
-            Jmsg(jcr, M_MOUNT, 0, _(
+            Mmsg(dev->errmsg, _(
 "Job %s waiting. Cannot find any appendable volumes.\n"
 "Please use the \"label\"  command to create a new Volume for:\n"
 "    Storage:      %s\n"
@@ -509,6 +509,8 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
                dcr->pool_name,
                dcr->media_type);
          }
+         Jmsg(jcr, M_MOUNT, 0, "%s", dev->errmsg);
+         Dmsg1(100, "%s", dev->errmsg);
       }
 
       set_jcr_job_status(jcr, JS_WaitMedia);
index ef8ebc09f819a864c12f1e251805d2c4d91bdb6a..f666c6fd8ba1b593709e3fdcdad58c1b79cc7535 100644 (file)
@@ -231,6 +231,7 @@ void    send_drive_reserve_messages(JCR *jcr, void sendit(const char *msg, int l
 bool    find_suitable_device_for_job(JCR *jcr, RCTX &rctx);
 int     search_res_for_device(RCTX &rctx);
 void    release_reserve_messages(JCR *jcr);
+void debug_list_volumes(const char *imsg);
 
 extern int reservations_lock_count;
 extern int vol_list_lock_count;
index 050c606bb22a446f14ca57def721837311953a2d..2acc5bd330b9ce0419314680465406a5098ceb75 100644 (file)
@@ -170,7 +170,7 @@ enum {
    debug_nolock = false
 };
 
-static void debug_list_volumes(const char *imsg)
+void debug_list_volumes(const char *imsg)
 {
    VOLRES *vol;
    POOL_MEM msg(PM_MESSAGE);
index 99fe973ac7d46221c7b80dff227bca9fc72eaaff..bdca238582225349b5d6e9879023c1e7fbafb0fd 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.3.20"
-#define BDATE   "03 May 2008"
-#define LSMDATE "03May08"
+#define BDATE   "07 May 2008"
+#define LSMDATE "07May08"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2008 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2008"       /* year for copyright messages in progs */
index 58053cd53d3b928b3b6c1fdd492c1e3da371d31d..113f535ec15604c22cb23b36f55d5cfbcee89b72 100644 (file)
@@ -24,6 +24,9 @@ Add long term statistics job table
 
 
 General:
+07May08
+kes  Improve SD reserve debug code.
+kes  Testing an improvement to free up volumes no longer in use.
 03May08
 kes  Rework SD acquire for read to handle autochanger Volume
      swapping.