Imported Upstream version 2.6.0p2
[debian/amanda] / server-src / driver.c
index ef877f3fa22eef37016fd1b5ea98f11ffefc5c6e..e9504edceb4597029173eafb477fcf734914603a 100644 (file)
@@ -480,10 +480,12 @@ main(
     while(!empty(directq) && taper > 0) {
        diskp = dequeue_disk(&directq);
        if (diskp->to_holdingdisk == HOLD_REQUIRED) {
+           char *qname = quote_string(diskp->name);
            log_add(L_FAIL, _("%s %s %s %d [%s]"),
-               diskp->host->hostname, diskp->name, sched(diskp)->datestamp,
+               diskp->host->hostname, qname, sched(diskp)->datestamp,
                sched(diskp)->level,
                _("can't dump required holdingdisk"));
+           amfree(qname);
        }
        else if (!degraded_mode) {
            taper_state |= TAPER_STATE_DUMP_TO_TAPE;
@@ -491,13 +493,16 @@ main(
            event_loop(0);
            taper_state &= !TAPER_STATE_DUMP_TO_TAPE;
        }
-       else
+       else {
+           char *qname = quote_string(diskp->name);
            log_add(L_FAIL, _("%s %s %s %d [%s]"),
-               diskp->host->hostname, diskp->name, sched(diskp)->datestamp,
+               diskp->host->hostname, qname, sched(diskp)->datestamp,
                sched(diskp)->level,
                diskp->to_holdingdisk == HOLD_AUTO ?
                    _("no more holding disk space") :
                    _("can't dump no-hold disk in degraded mode"));
+           amfree(qname);
+       }
     }
 
     /* fill up the tape or start new one for taperflush */
@@ -1029,9 +1034,11 @@ start_some_dumps(
            if(cmd != PORT) {
                assignedhd_t **h=NULL;
                int activehd;
+               char *qname = quote_string(diskp->name);
 
                g_printf(_("driver: did not get PORT from %s for %s:%s\n"),
-                      chunker->name, diskp->host->hostname, diskp->name);
+                      chunker->name, diskp->host->hostname, qname);
+               amfree(qname);
                fflush(stdout);
 
                deallocate_bandwidth(diskp->host->netif, sched(diskp)->est_kps);
@@ -1291,8 +1298,10 @@ handle_taper_result(
             if (!taper_dumper)
                 free_serial(result_argv[2]);
 
+           qname = quote_string(dp->name);
            g_printf(_("driver: finished-cmd time %s taper wrote %s:%s\n"),
-                  walltime_str(curclock()), dp->host->hostname, dp->name);
+                  walltime_str(curclock()), dp->host->hostname, qname);
+           amfree(qname);
            fflush(stdout);
 
            if (strcmp(result_argv[3], "INPUT-ERROR") == 0) {
@@ -1394,8 +1403,10 @@ handle_taper_result(
             dp = serial2disk(result_argv[2]);
            if (!taper_dumper)
                free_serial(result_argv[2]);
+           qname = quote_string(dp->name);
             g_printf(_("driver: finished-cmd time %s taper wrote %s:%s\n"),
-                   walltime_str(curclock()), dp->host->hostname, dp->name);
+                   walltime_str(curclock()), dp->host->hostname, qname);
+           amfree(qname);
             fflush(stdout);
             log_add(L_WARNING, _("Taper  error: %s"), result_argv[3]);
            taper_tape_error = stralloc(result_argv[3]);
@@ -1455,6 +1466,8 @@ static void
 file_taper_result(
     disk_t *dp)
 {
+    char *qname = quote_string(dp->name);
+
     if (taper_result == DONE) {
        update_info_taper(dp, taper_first_label, taper_first_fileno,
                          sched(dp)->level);
@@ -1464,14 +1477,14 @@ file_taper_result(
 
     if (taper_input_error) {
        g_printf("driver: taper failed %s %s: %s\n",
-                  dp->host->hostname, dp->name, taper_input_error);
+                  dp->host->hostname, qname, taper_input_error);
        if (strcmp(sched(dp)->datestamp, driver_timestamp) == 0) {
            if(sched(dp)->taper_attempted >= 2) {
                log_add(L_FAIL, _("%s %s %s %d [too many taper retries after holding disk error: %s]"),
-                   dp->host->hostname, dp->name, sched(dp)->datestamp,
+                   dp->host->hostname, qname, sched(dp)->datestamp,
                    sched(dp)->level, taper_input_error);
                g_printf("driver: taper failed %s %s, too many taper retry after holding disk error\n",
-                  dp->host->hostname, dp->name);
+                  dp->host->hostname, qname);
                amfree(sched(dp)->destname);
                amfree(sched(dp)->dumpdate);
                amfree(sched(dp)->degr_dumpdate);
@@ -1479,10 +1492,10 @@ file_taper_result(
                amfree(dp->up);
            } else {
                log_add(L_INFO, _("%s %s %s %d [Will retry dump because of holding disk error: %s]"),
-                       dp->host->hostname, dp->name, sched(dp)->datestamp,
+                       dp->host->hostname, qname, sched(dp)->datestamp,
                        sched(dp)->level, taper_input_error);
                g_printf("driver: taper will retry %s %s because of holding disk error\n",
-                       dp->host->hostname, dp->name);
+                       dp->host->hostname, qname);
                if (dp->to_holdingdisk != HOLD_REQUIRED) {
                    dp->to_holdingdisk = HOLD_NEVER;
                    sched(dp)->dump_attempted -= 1;
@@ -1505,10 +1518,10 @@ file_taper_result(
     } else if (taper_tape_error) {
        if(sched(dp)->taper_attempted >= 2) {
            log_add(L_FAIL, _("%s %s %s %d [too many taper retries]"),
-                   dp->host->hostname, dp->name, sched(dp)->datestamp,
+                   dp->host->hostname, qname, sched(dp)->datestamp,
                    sched(dp)->level);
            g_printf("driver: taper failed %s %s, too many taper retry\n",
-                  dp->host->hostname, dp->name);
+                  dp->host->hostname, qname);
            amfree(sched(dp)->destname);
            amfree(sched(dp)->dumpdate);
            amfree(sched(dp)->degr_dumpdate);
@@ -1516,7 +1529,7 @@ file_taper_result(
            amfree(dp->up);
        } else {
            g_printf("driver: taper will retry %s %s\n",
-                  dp->host->hostname, dp->name);
+                  dp->host->hostname, qname);
            /* Re-insert into taper queue. */
            headqueue_disk(&tapeq, dp);
        }
@@ -1529,6 +1542,8 @@ file_taper_result(
        amfree(dp->up);
     }
 
+    amfree(qname);
+
     taper_busy = 0;
     taper_input_error = NULL;
     taper_tape_error = NULL;
@@ -1757,12 +1772,14 @@ handle_dumper_result(
             * case for cleanup.
             */
            if(sched(dp)->dump_attempted) {
+               char *qname = quote_string(dp->name);
                log_add(L_FAIL, _("%s %s %s %d [too many dumper retry: %s]"),
-                   dp->host->hostname, dp->name, sched(dp)->datestamp,
+                   dp->host->hostname, qname, sched(dp)->datestamp,
                    sched(dp)->level, result_argv[3]);
                g_printf(_("driver: dump failed %s %s %s, too many dumper retry: %s\n"),
-                       result_argv[2], dp->host->hostname, dp->name,
+                       result_argv[2], dp->host->hostname, qname,
                        result_argv[3]);
+               amfree(qname);
            }
            /* FALLTHROUGH */
        case FAILED: /* FAILED <handle> <errstr> */