Index: src/stored/block.c
===================================================================
RCS file: /cvsroot/bacula/bacula/src/stored/block.c,v
retrieving revision 1.116.2.3
diff -u -u -b -r1.116.2.3 block.c
--- src/stored/block.c	24 Mar 2006 16:35:23 -0000	1.116.2.3
+++ src/stored/block.c	12 Jun 2006 16:19:27 -0000
@@ -9,7 +9,7 @@
  *
  */
 /*
-   Copyright (C) 2001-2005 Kern Sibbald
+   Copyright (C) 2001-2006 Kern Sibbald
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
@@ -910,13 +910,12 @@
    Dmsg3(100, "Tests : %d %d %d\n", (dev->VolCatInfo.VolCatParts > 0), 
          ((dev->file_addr-dev->part_start) == dev->part_size), 
          (dev->part <= dev->VolCatInfo.VolCatParts));*/
-   /* Check for part file end */
-   if ((dev->num_parts > 0) &&
-        ((dev->file_addr-dev->part_start) == dev->part_size) && 
-        (dev->part < dev->num_parts)) {
+   /* Check for DVD part file end */
+   if (dev->at_eof() && dev->is_dvd() && dev->num_parts > 0 &&
+        dev->part < dev->num_parts) {
       if (dvd_open_next_part(dcr) < 0) {
-         Jmsg2(dcr->jcr, M_FATAL, 0, _("Unable to open device next part %s: ERR=%s\n"),
-               dev->print_name(), strerror_dev(dev));
+         Jmsg3(dcr->jcr, M_FATAL, 0, _("Unable to open device part=%d %s: ERR=%s\n"),
+               dev->part, dev->print_name(), strerror_dev(dev));
          dev->dev_errno = EIO;
          return false;
       }


syntax highlighted by Code2HTML, v. 0.9.1