MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Rafal Somla Date:April 22 2010 9:51am
Subject:bzr commit into mysql-6.0-backup branch (Rafal.Somla:2948) Bug#52966
View as plain text  
#At file:///ext/mysql/bzr/backup/native-innodb/ based on revid:rafal.somla@stripped

 2948 Rafal Somla	2010-04-22
      Fix of the wrong logic in backup kernel for handling DONE reply
      from a backup driver (see BUG#52966).

    modified:
      sql/backup/data_backup.cc
=== modified file 'sql/backup/data_backup.cc'
--- a/sql/backup/data_backup.cc	2010-04-19 14:08:16 +0000
+++ b/sql/backup/data_backup.cc	2010-04-22 09:51:53 +0000
@@ -1512,7 +1512,7 @@ int Backup_pump::pump(size_t *howmuch)
           state= backup_state::READY;
 
       case OK:
-
+      case DONE:
         if (m_buf.last)
         {
           mark_stream_closed(m_buf.table_num);
@@ -1530,6 +1530,8 @@ int Backup_pump::pump(size_t *howmuch)
         else
           m_bw.drop_buf(m_buf);         // Never errors.
 
+        if (res == DONE)
+          state= backup_state::DONE;
         break;
 
       case PROCESSING:
@@ -1543,8 +1545,6 @@ int Backup_pump::pump(size_t *howmuch)
         state= backup_state::ERROR;
         return ERROR;
 
-      case DONE:
-        state= backup_state::DONE;
 
       case BUSY:
         m_bw.drop_buf(m_buf);           // Never errors.
@@ -1554,8 +1554,7 @@ int Backup_pump::pump(size_t *howmuch)
     } // if (mode == READING)
 
     if (mode == WRITING
-        && state != backup_state::ERROR
-        && state != backup_state::DONE)
+        && state != backup_state::ERROR)
     {
       backup::Block_writer::result_t res= m_bw.write_buf(m_buf);
 


Attachment: [text/bzr-bundle] bzr/rafal.somla@sun.com-20100422095153-fbfd8ye62jjfq622.bundle
Thread
bzr commit into mysql-6.0-backup branch (Rafal.Somla:2948) Bug#52966Rafal Somla22 Apr