]> git.sur5r.net Git - bacula/bacula/commitdiff
kes When applying a storage override, release all previous storage
authorKern Sibbald <kern@sibbald.com>
Mon, 16 Jul 2007 12:54:42 +0000 (12:54 +0000)
committerKern Sibbald <kern@sibbald.com>
Mon, 16 Jul 2007 12:54:42 +0000 (12:54 +0000)
     definitions rather than just prepending the new storage.
     This should prevent a good deal of confusion.

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

bacula/src/dird/job.c
bacula/src/dird/ua_cmds.c
bacula/technotes-2.1

index e2ba3ba2b70d62fdcdc994039d907f8c0aaebfa1..70be904b25069ab1c3dd83bcf47294726a3eae40 100644 (file)
@@ -976,7 +976,7 @@ void copy_rwstorage(JCR *jcr, alist *storage, const char *where)
 }
 
 
-/* Set storage override */
+/* Set storage override.  Releases any previous storage definition */
 void set_rwstorage(JCR *jcr, USTORE *store)
 {
    if (!store) {
@@ -1026,7 +1026,7 @@ void copy_rstorage(JCR *jcr, alist *storage, const char *where)
 }
 
 
-/* Set storage override */
+/* Set storage override.  Remove all previous storage */
 void set_rstorage(JCR *jcr, USTORE *store)
 {
    STORE *storage;
@@ -1034,6 +1034,9 @@ void set_rstorage(JCR *jcr, USTORE *store)
    if (!store->store) {
       return;
    }
+   if (jcr->rstorage) {
+      free_rstorage(jcr);
+   }
    if (!jcr->rstorage) {
       jcr->rstorage = New(alist(10, not_owned_by_alist));
    }
@@ -1087,7 +1090,7 @@ void copy_wstorage(JCR *jcr, alist *storage, const char *where)
 }
 
 
-/* Set storage override */
+/* Set storage override. Remove all previous storage */
 void set_wstorage(JCR *jcr, USTORE *store)
 {
    STORE *storage;
@@ -1095,6 +1098,9 @@ void set_wstorage(JCR *jcr, USTORE *store)
    if (!store->store) {
       return;
    }
+   if (jcr->wstorage) {
+      free_wstorage(jcr);
+   }
    if (!jcr->wstorage) {
       jcr->wstorage = New(alist(10, not_owned_by_alist));
    }
index 1b97b952faaac21b354c397aea91a9ac2d5d7e9e..4c402fece0a803f4a892cd03a2898596dc42e378 100644 (file)
@@ -1424,10 +1424,10 @@ static void do_mount_cmd(UAContext *ua, const char *command)
    Dmsg2(120, "%s: %s\n", command, ua->UA_sock->msg);
 
    store.store = get_storage_resource(ua, true/*arg is storage*/);
-   pm_strcpy(store.store_source, _("unknown source"));
    if (!store.store) {
       return;
    }
+   pm_strcpy(store.store_source, _("unknown source"));
    set_wstorage(jcr, &store);
    drive = get_storage_drive(ua, store.store);
    if (strcmp(command, "mount") == 0) {
index e36078974b86fac97842eae8bddf4c24f4c24cdc..d5c17e5134106410c895be70b6f0119407b13f99 100644 (file)
@@ -1,6 +1,12 @@
               Technical notes on version 2.1
 
 General:
+16Jul07
+kes  When applying a storage override, release all previous storage
+     definitions rather than just prepending the new storage.
+     This should prevent a good deal of confusion.
+14Jul07
+kes  Implement ./configure search for qwt libraries.
 13Jul07
 kes  Disable posting the WM_CLOSE message in KillRunningCopy of the 
      Win32 FD.  This should fix bug #893.