]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix race condition that drops final block written to volume.
authorKern Sibbald <kern@sibbald.com>
Fri, 28 Sep 2007 21:15:18 +0000 (21:15 +0000)
committerKern Sibbald <kern@sibbald.com>
Fri, 28 Sep 2007 21:15:18 +0000 (21:15 +0000)
     This happens in rare cases with multiple simultaneous jobs
     when the Volume fills.

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

bacula/src/stored/append.c
bacula/technotes-2.3

index 6519c7012366f10c05c41af6f3bc347895625b72..972b14bb4c811aa510f6bd6d348ae088de37b182 100644 (file)
@@ -287,7 +287,7 @@ bool do_append_data(JCR *jcr)
     * Check if we can still write. This may not be the case
     *  if we are at the end of the tape or we got a fatal I/O error.
     */
-   if (dev->can_write()) {
+   if (ok || dev->can_write()) {
       if (!write_session_label(dcr, EOS_LABEL)) {
          Jmsg1(jcr, M_FATAL, 0, _("Error writting end session label. ERR=%s\n"),
                dev->bstrerror());
index f1c537019c7f45a050e653712ce01e26e540a2a1..6d7d711f7c192856e740281ad0c77a7021eed3a9 100644 (file)
@@ -2,6 +2,9 @@
 
 General:
 28Sep07
+kes  Fix race condition that drops final block written to volume.
+     This happens in rare cases with multiple simultaneous jobs 
+     when the Volume fills.
 kes  Eliminate more strerror() and replace with bstrerror().
 kes  Remove BSD getopt and replace with unrestricted IBM version
 kes  Fix Win32 build.