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

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/branches/Branch-2.2@6923 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.1

index 1d0d8a4ed347da0c4ec0e4e1d78ad445d580bbb1..bf32057b9dd62c2daa9be6e6a5481ecb49ea12e8 100644 (file)
@@ -492,7 +492,7 @@ 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 */
             volume_unused(dcr);               /*  we obviously are not using the volume */
          }
       }
@@ -506,6 +506,9 @@ 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..d67cd328ebaf68cd0ba1602637895196d095949d 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"
@@ -508,6 +508,8 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
                dev->print_name(),
                dcr->pool_name,
                dcr->media_type);
+            Jmsg(jcr, M_MOUNT, 0, "%s", dev->errmsg);
+            Dmsg1(100, "%s", dev->errmsg);
          }
       }
 
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 ba918274b2dc227f6291c07c611a12ce361b8427..99de0a72f84e25bdd253a0e4d09fe469415635ec 100644 (file)
@@ -172,7 +172,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 92c8474c1c1e48f93a236574ea6c11309300c0d6..2b5b28efa71caad79fab44f30b1f4b652cccf7cc 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.2.10-b2"
-#define BDATE   "07 May 2008"
-#define LSMDATE "07May08"
+#define BDATE   "08 May 2008"
+#define LSMDATE "08May08"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2008 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2008"       /* year for copyright messages in progs */
index fa58a26bd1ec46c215949b64a94d82e31990c862..cb7f5912180028712b1698c2da1e07e593deac12 100644 (file)
@@ -2,6 +2,10 @@
 
 General:
 
+08May08
+kes  Improve SD reserve debug code.
+kes  Testing an improvement to free up volumes no longer in use.
+
 Beta Release Version 2.2.10-b2
 07May08
 03May08