Imported Upstream version 3.3.2
[debian/amanda] / device-src / xfer-dest-taper-splitter.c
index 561f04dccaead748572865aae8ed20df0d75d668..081e9b8dda5aaeec41ecaf7888a0982fdcc56bf2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * 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
@@ -181,7 +181,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 +551,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,7 +559,7 @@ 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 */
@@ -878,7 +873,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