lintian doesn't like orphan packages with uploaders...
[debian/amanda] / device-src / xfer-dest-taper-splitter.c
index 561f04dccaead748572865aae8ed20df0d75d668..8b09d7ef355ee8b582e3c668f253bd19abf358d1 100644 (file)
@@ -1,10 +1,11 @@
 /*
  * Amanda, The Advanced Maryland Automatic Network Disk Archiver
- * Copyright (c) 2009, 2010 Zmanda, Inc.  All Rights Reserved.
+ * Copyright (c) 2009-2012 Zmanda, Inc.  All Rights Reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published
- * by the Free Software Foundation.
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -181,7 +182,7 @@ _xdt_dbg(const char *fmt, ...)
     arglist_start(argp, fmt);
     g_vsnprintf(msg, sizeof(msg), fmt, argp);
     arglist_end(argp);
-    g_debug("XDT thd-%p: %s", g_thread_self(), msg);
+    g_debug("XDT: %s", msg);
 }
 
 /* "Fast forward" the slice list by the given length.  This will free any
@@ -551,11 +552,6 @@ part_done:
            }
     }
 
-    if (elt->cancelled) {
-       g_timer_destroy(timer);
-       return NULL;
-    }
-
     g_timer_stop(timer);
 
     msg = xmsg_new(XFER_ELEMENT(self), XMSG_PART_DONE, 0);
@@ -564,13 +560,13 @@ part_done:
     msg->partnum = self->partnum;
     msg->fileno = fileno;
     msg->successful = self->last_part_successful = part_status != PART_FAILED;
-    msg->eom = self->last_part_eom = (part_status == PART_LEOM || !msg->successful);
+    msg->eom = self->last_part_eom = part_status == PART_LEOM || self->device->is_eom;
     msg->eof = self->last_part_eof = part_status == PART_EOF;
 
     /* time runs backward on some test boxes, so make sure this is positive */
     if (msg->duration < 0) msg->duration = 0;
 
-    if (msg->successful)
+    if (msg->successful && msg->size > 0)
        self->partnum++;
     self->no_more_parts = msg->eof || (!msg->successful && !self->expect_cache_inform);
 
@@ -878,7 +874,11 @@ get_part_bytes_written_impl(
     /* NOTE: this access is unsafe and may return inconsistent results (e.g, a
      * partial write to the 64-bit value on a 32-bit system).  This is ok for
      * the moment, as it's only informational, but be warned. */
-    return self->part_bytes_written;
+    if (self->device) {
+       return device_get_bytes_written(self->device);
+    } else {
+       return self->part_bytes_written;
+    }
 }
 
 static void