This patch corrects a bug where the last volume of a migration
job is incorrectly found producing an error. This fixes bug #936.
Apply the patch to 2.2.3 (and possibly earlier 2.2.x versions) with:
cd <bacula-source>
patch -p0 <2.2.3-migrate-vol.patch
./configure (your options)
make
...
make install
Index: src/dird/migrate.c
===================================================================
--- src/dird/migrate.c (revision 5507)
+++ src/dird/migrate.c (working copy)
@@ -1098,8 +1098,10 @@
if (mig_jcr->VolumeName[0]) {
/* Find last volume name. Multiple vols are separated by | */
char *p = strrchr(mig_jcr->VolumeName, '|');
- if (!p) {
- p = mig_jcr->VolumeName;
+ if (p) {
+ p++; /* skip | */
+ } else {
+ p = mig_jcr->VolumeName; /* no |, take full name */
}
bstrncpy(mr.VolumeName, p, sizeof(mr.VolumeName));
if (!db_get_media_record(jcr, jcr->db, &mr)) {
syntax highlighted by Code2HTML, v. 0.9.1