]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Fix mtx-changer to detect both versions of Ubuntu (Debian)
authorKern Sibbald <kern@sibbald.com>
Wed, 2 Jul 2008 20:41:34 +0000 (20:41 +0000)
committerKern Sibbald <kern@sibbald.com>
Wed, 2 Jul 2008 20:41:34 +0000 (20:41 +0000)
     mt. This fixes bug #1116.
kes  Add const in python files to reduce compiler warnings.
     This may have to be backed out because of later compiler
     strict checking.
kes  Fix failure of 2drive-concurrent-test. Always read label;
     clear_unload() only after drive is defined in acquire_for_read().

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

bacula/scripts/mtx-changer.in
bacula/src/dird/pythondir.c
bacula/src/filed/pythonfd.c
bacula/src/lib/pythonlib.c
bacula/src/stored/acquire.c
bacula/src/stored/label.c
bacula/src/stored/pythonsd.c
bacula/src/version.h
bacula/technotes-2.5

index 1a5ecc578bbbc8c8a155420783726abcb2d0faf5..62b8707d8f4724523e93a455d852b59f7a41ffe6 100644 (file)
@@ -55,6 +55,8 @@ MTX=@MTX@
 #  Note Debian has a different mt than the standard Linux version. 
 #    When no tape is in the drive it waits 2 minutes.  
 #    When a tape is in the drive, it prints user unfriendly output.
+#  Note, with Ubuntu Gusty (8.04), there are two versions of mt,
+#    so we attempt to figure out which one.
 #
 
 OS=`uname`
@@ -66,10 +68,12 @@ case ${OS} in
     ready="Current Driver State: at rest."
     ;;
   Linux)
-    if test -e /etc/debian_version ; then
-       ready="drive status"
-    else
-       ready="ONLINE"
+    ready="ONLINE"
+    if test -f /etc/debian_version ; then
+       mt --version|grep "mt-st"         
+       if test $? -eq 1 ; then
+         ready="drive status"
+       fi
     fi
   ;;
 esac
@@ -197,10 +201,6 @@ case $cmd in
       ${MTX} -f $ctl status >${TMPFILE}
       rtn=$?
       cat ${TMPFILE} | grep " Storage Element [0-9]*:.*Full" | awk "{print \$3 \$4}" | sed "s/Full *\(:VolumeTag=\)*//"
-
-# If you want/can use IMPORT/EXPORT slots as normal slots within bacula
-# replace the previous line by this one
-# sed "s/ IMPORT\/EXPORT//" "${TMPFILE}" | grep " Storage Element [0-9]*:.*Full" | awk "{print \$3 \$4}" | sed "s/Full *\(:VolumeTag=\)*//"
 #
 # If you have a VXA PacketLoader and the above does not work, try
 #  turning it off and enabling the following line.
index 16a20a007b1a9a637fc53e0411115c67dc92c6b9..c8c9c463a9ed7d7cb61f3ca7dffcb592ae593827 100644 (file)
@@ -67,7 +67,7 @@ PyMethodDef JobMethods[] = {
 
 struct s_vars {
    const char *name;
-   char *fmt;
+   const char *fmt;
 };
 
 /* Read-only variables */
index 08b1736cde2ff10d8cbfd86f912ee2b00806833f..ccdca4b75ddf7aa3283c0b797aff055fac102e4d 100644 (file)
@@ -60,7 +60,7 @@ PyMethodDef JobMethods[] = {
 
 struct s_vars {
    const char *name;
-   char *fmt;
+   const char *fmt;
 };
 
 /* Read-only variables */
index 133c88f7c0b8a4333780a6b60d61217d7b2c2ae0..bb1fb97949e4709e42f7113c0e7388a8dfe2fe48 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2004-2007 Free Software Foundation Europe e.V.
+   Copyright (C) 2004-2008 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
index 42f15bd7655cb48cf62840d6abf3693ea2d73da6..4af83a3343b45eaa1ae6cd16881380bc531f8b42 100644 (file)
@@ -70,7 +70,6 @@ bool acquire_device_for_read(DCR *dcr)
          dev->num_writers, jcr->JobId);
       goto get_out;
    }
-   dev->clear_unload();
 
    /* Find next Volume, if any */
    vol = jcr->VolList;
@@ -173,6 +172,8 @@ bool acquire_device_for_read(DCR *dcr)
       }
    }
 
+   dev->clear_unload();
+
    if (reserve_volume(dcr, dcr->VolumeName) == NULL) {
       Dmsg2(100, "Could not reserve volume %s on %s\n", dcr->VolumeName,
             dcr->dev->print_name());
index da90a41fb0f626e900ed8c820377319f102afb03..e2b9f548ea89dde27a87343277a87dd14dd1dd3b 100644 (file)
@@ -85,6 +85,7 @@ int read_dev_volume_label(DCR *dcr)
          return VOL_IO_ERROR;
       }
    }
+#ifdef xxx
    if (dev->is_labeled()) {              /* did we already read label? */
       /* Compare Volume Names allow special wild card */
       if (VolName && *VolName && *VolName != '*' && strcmp(dev->VolHdr.VolumeName, VolName) != 0) {
@@ -104,6 +105,7 @@ int read_dev_volume_label(DCR *dcr)
       Dmsg0(130, "Leave read_volume_label() VOL_OK\n");
       return VOL_OK;       /* label already read */
    }
+#endif
 
    dev->clear_labeled();
    dev->clear_append();
index 9bcfc1b8f40e6c067110be682f28465009772831..95f4fef482c113b00fdbcdc57cdb49fb78440a3a 100644 (file)
@@ -1,16 +1,7 @@
-/*
- *
- * Bacula interface to Python for the Storage Daemon
- *
- * Kern Sibbald, January MMV
- *
- *   Version $Id$
- *
- */
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2005-2006 Free Software Foundation Europe e.V.
+   Copyright (C) 2005-2008 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+ *
+ * Bacula interface to Python for the Storage Daemon
+ *
+ * Kern Sibbald, January MMV
+ *
+ *   Version $Id$
+ *
+ */
 
 
 #include "bacula.h"
@@ -59,7 +59,7 @@ PyMethodDef JobMethods[] = {
 
 struct s_vars {
    const char *name;
-   char *fmt;
+   const char *fmt;
 };
 
 static struct s_vars getvars[] = {
index 5cc00cb8e5d7496f6ca70c68a0194986411d2c05..6c1ddaf4eaef0abcd9372f027d3aa24f1fd1db1b 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.5.1"
-#define BDATE   "27 June 2008"
-#define LSMDATE "27Jun08"
+#define BDATE   "02 July 2008"
+#define LSMDATE "02Jul08"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2008 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2008"       /* year for copyright messages in progs */
index 589c98c6c008b90dafc3fb002fe81faefe6179f2..c5ffe9d42b1929d7e7edacbde59301d0051e7973 100644 (file)
@@ -30,6 +30,14 @@ vtape driver
 
 
 General:
+02Jul08
+kes  Fix mtx-changer to detect both versions of Ubuntu (Debian)
+     mt. This fixes bug #1116.
+kes  Add const in python files to reduce compiler warnings.
+     This may have to be backed out because of later compiler
+     strict checking.
+kes  Fix failure of 2drive-concurrent-test. Always read label;
+     clear_unload() only after drive is defined in acquire_for_read().
 27Jun08
 kes  Generally clean up the manual tape loading code. The main
      conceptial change is that when a volume is marked to be unloaded,