-2003-07-xx Version 1.31 Beta xxJul03
+2003-07-xx Version 1.31 Beta 22Jul03
+- Apply a patch from Nic Bellamy that clarifies the error messages 
+  during recycling volumes.
 - Documentation.
 - Clear VolCatInfo in askdir.c so that readbytes is zeroed.
 - Add SD statistics to backup report.
 
             } else if (strcmp(mr.VolStatus, "Append") != 0 &&
                        strcmp(mr.VolStatus, "Recycle") != 0) {
                reason = "not Append or Recycle";
-              /* XXX nicb start */
                /* What we're trying to do here is see if the current volume is
                 * "recycleable" - ie. if we prune all expired jobs off it, is
                * it now possible to reuse it for the job that it is currently
                   */
                  UAContext *ua;
 
-                  reason = "not Append or Recycle (auto recycle failed)";
-
                  ua = new_ua_context(jcr);
                  ok = prune_volume(ua, &mr);
                  free_ua_context(ua);
                         Jmsg(jcr, M_INFO, 0, "Recycled current "
                               "volume \"%s\"\n", mr.VolumeName);
                        VolSuitable = true;
+                    } else {
+                        reason = "not Append or Recycle (recycling of the "
+                           "current volume failed)";
                     }
+                 } else {
+                     reason = "not Append or Recycle (cannot automatically "
+                        "recycle current volume, as it still contains "
+                        "unpruned data)";
                  }
               }
-              /* XXX nicb end */
            } else if (strcmp(mr.MediaType, jcr->store->media_type) != 0) {
                reason = "not correct MediaType";
            } else if (!jcr->pool->accept_any_volume) {
 
 #define SMCHECK     
 #define TRACE_FILE 1  
 
-#define FULL_DEBUG 1    /* normally on for testing only */
+/* #define FULL_DEBUG 1 */   /* normally on for testing only */
 
 /* Turn this on ONLY if you want all Dmsg() to append to the
  *   trace file. Implemented mainly for Win32 ...
 /*  #define SEND_DMSG_TO_FILE 1 */
 
 /* Turn this on if you want to use the Job semaphore code */
-#define USE_SEMAPHORE
+/* #define USE_SEMAPHORE */
 
 /* Turn this on if you want to use the new Job scheduling code */
 #undef USE_SEMAPHORE