]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl Apply 2.4.3-unique-inchanger.patch fix for #1175 about bad slot
authorEric Bollengier <eric@eb.homelinux.org>
Thu, 20 Nov 2008 09:39:38 +0000 (09:39 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Thu, 20 Nov 2008 09:39:38 +0000 (09:39 +0000)
     number if the volume is not in autochanger.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/branches/Branch-2.4@8067 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/Patchnotes-2.4
bacula/patches/2.4.3-unique-inchanger.patch [new file with mode: 0644]
bacula/src/cats/sql_update.c
bacula/technotes-2.4

index fe58141cf256124d2db80b6c5501e7fc455e86eb..aefda16a414d05f92fff57a30f0548625d3c141d 100644 (file)
@@ -5,6 +5,8 @@ Patches Released to Source Forge:
 2.4.3-orphaned-jobs.patch
 
 Patches Committed:
+20Nov08
+2.4.3-unique-inchanger.patch
 18Nov08
 2.4.3-purge-bug.patch
 2.4.3-getmsg.patch
diff --git a/bacula/patches/2.4.3-unique-inchanger.patch b/bacula/patches/2.4.3-unique-inchanger.patch
new file mode 100644 (file)
index 0000000..1cfa99c
--- /dev/null
@@ -0,0 +1,39 @@
+
+ This patch should fix the bug #1175 about Slot field
+ that is not reset after update slots.
+ Should work for 2.4.3 with 2.4.3-update-slots.patch
+
+ cd <bacula-source>
+ patch -p0 <2.4.3-unique-inchanger.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+Index: src/cats/sql_update.c
+===================================================================
+--- src/cats/sql_update.c       (rĂ©vision 8063)
++++ src/cats/sql_update.c       (copie de travail)
+@@ -448,19 +448,19 @@
+    if (mr->InChanger != 0 && mr->Slot != 0 && mr->StorageId != 0) {
+
+        if (mr->MediaId != 0) {
+-          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0 WHERE "
++          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0, Slot=0 WHERE "
+                "Slot=%d AND StorageId=%s AND MediaId!=%s",
+                mr->Slot,
+                edit_int64(mr->StorageId, ed1), edit_int64(mr->MediaId, ed2));
+
+        } else if (mr->VolumeName[0]) { /* We have a volume name */
+-          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0 WHERE "
++          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0, Slot=0 WHERE "
+                "Slot=%d AND StorageId=%s AND VolumeName!='%s'",
+                mr->Slot,
+                edit_int64(mr->StorageId, ed1), mr->VolumeName);
+
+        } else {  /* used by ua_label to reset all volume with this slot */
+-          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0 WHERE "
++          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0, Slot=0 WHERE "
+                "Slot=%d AND StorageId=%s",
+                mr->Slot,
+                edit_int64(mr->StorageId, ed1), mr->VolumeName);
index 46c62ed97381dbd21392c1780fae190635872c8d..ad1116645d26df6a9240a6f29d174d6373a5a037 100644 (file)
@@ -448,19 +448,19 @@ db_make_inchanger_unique(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr)
    if (mr->InChanger != 0 && mr->Slot != 0 && mr->StorageId != 0) {
 
        if (mr->MediaId != 0) {
-          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0 WHERE "
+          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0, Slot=0 WHERE "
                "Slot=%d AND StorageId=%s AND MediaId!=%s",
                mr->Slot, 
                edit_int64(mr->StorageId, ed1), edit_int64(mr->MediaId, ed2));
 
        } else if (mr->VolumeName[0]) { /* We have a volume name */
-          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0 WHERE "
+          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0, Slot=0 WHERE "
                "Slot=%d AND StorageId=%s AND VolumeName!='%s'",
                mr->Slot, 
                edit_int64(mr->StorageId, ed1), mr->VolumeName);
 
        } else {  /* used by ua_label to reset all volume with this slot */
-          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0 WHERE "
+          Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0, Slot=0 WHERE "
                "Slot=%d AND StorageId=%s",
                mr->Slot, 
                edit_int64(mr->StorageId, ed1), mr->VolumeName);          
index cd4b21f66bc6e2265f1dcbee4834971016b0266e..102b2dbb90fadb840c895691d1c27a8ec0babadb 100644 (file)
@@ -1,6 +1,9 @@
               Technical notes on version 2.4
 
 General:
+20Nov08
+ebl  Apply 2.4.3-unique-inchanger.patch fix for #1175 about bad slot
+     number if the volume is not in autochanger.
 18Nov08
 kes  Probably fix for bug #1188 where Volume is purged while writing
      on it.