Loading storage/ndb/src/kernel/blocks/backup/Backup.cpp +34 −17 Original line number Diff line number Diff line Loading @@ -3933,6 +3933,13 @@ Backup::checkFile(Signal* signal, BackupFilePtr filePtr) return; }//if #ifdef DEBUG_ABORT Uint32 running= filePtr.p->fileRunning; Uint32 closing= filePtr.p->fileClosing; #endif if(!filePtr.p->fileClosing) { filePtr.p->fileRunning = 0; filePtr.p->fileClosing = 1; Loading @@ -3942,10 +3949,21 @@ Backup::checkFile(Signal* signal, BackupFilePtr filePtr) req->userReference = reference(); req->fileFlag = 0; #ifdef DEBUG_ABORT ndbout_c("***** a FSCLOSEREQ filePtr.i = %u", filePtr.i); ndbout_c("***** a FSCLOSEREQ filePtr.i = %u run=%d cl=%d", filePtr.i, running, closing); #endif sendSignal(NDBFS_REF, GSN_FSCLOSEREQ, signal, FsCloseReq::SignalLength, JBA); } else { #ifdef DEBUG_ABORT ndbout_c("***** a NOT SENDING FSCLOSEREQ filePtr.i = %u run=%d cl=%d", filePtr.i, running, closing); #endif } } /**************************************************************************** Loading Loading @@ -4196,8 +4214,6 @@ Backup::closeFiles(Signal* sig, BackupRecordPtr ptr) continue; }//if filePtr.p->fileClosing = 1; if(filePtr.p->fileRunning == 1){ jam(); #ifdef DEBUG_ABORT Loading @@ -4206,6 +4222,9 @@ Backup::closeFiles(Signal* sig, BackupRecordPtr ptr) filePtr.p->operation.dataBuffer.eof(); } else { jam(); filePtr.p->fileClosing = 1; filePtr.p->operation.dataBuffer.eof(); checkFile(sig, filePtr); // make sure we write everything before closing FsCloseReq * req = (FsCloseReq *)sig->getDataPtrSend(); req->filePointer = filePtr.p->filePointer; Loading Loading @@ -4668,7 +4687,6 @@ Backup::execLCP_PREPARE_REQ(Signal* signal) jam(); BackupFilePtr filePtr; c_backupFilePool.getPtr(filePtr, ptr.p->dataFilePtr); filePtr.p->fileClosing = 1; filePtr.p->operation.dataBuffer.eof(); } Loading Loading @@ -4760,7 +4778,6 @@ Backup::execEND_LCPREQ(Signal* signal) BackupFilePtr filePtr; c_backupFilePool.getPtr(filePtr, ptr.p->dataFilePtr); filePtr.p->fileClosing = 1; filePtr.p->operation.dataBuffer.eof(); return; } Loading storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -228,6 +228,7 @@ AsyncFile::run() endReq(); return; default: DEBUG(ndbout_c("Invalid Request")); abort(); break; }//switch Loading Loading @@ -676,6 +677,7 @@ AsyncFile::extendfile(Request* request) { return 0; #else request = request; DEBUG(ndbout_c("no pwrite")); abort(); return -1; #endif Loading Loading @@ -792,6 +794,7 @@ AsyncFile::writeBuffer(const char * buf, size_t size, off_t offset, bytes_written = return_value; if(bytes_written == 0){ DEBUG(ndbout_c("no bytes written")); abort(); } Loading Loading @@ -830,8 +833,10 @@ AsyncFile::closeReq(Request * request) #else if (-1 == ::close(theFd)) { #ifndef DBUG_OFF if (theFd == -1) if (theFd == -1) { DEBUG(ndbout_c("close on fd = -1")); abort(); } #endif request->error = errno; } Loading Loading @@ -899,6 +904,7 @@ AsyncFile::appendReq(Request * request){ return; } if(n == 0){ DEBUG(ndbout_c("append with n=0")); abort(); } size -= n; Loading Loading
storage/ndb/src/kernel/blocks/backup/Backup.cpp +34 −17 Original line number Diff line number Diff line Loading @@ -3933,6 +3933,13 @@ Backup::checkFile(Signal* signal, BackupFilePtr filePtr) return; }//if #ifdef DEBUG_ABORT Uint32 running= filePtr.p->fileRunning; Uint32 closing= filePtr.p->fileClosing; #endif if(!filePtr.p->fileClosing) { filePtr.p->fileRunning = 0; filePtr.p->fileClosing = 1; Loading @@ -3942,10 +3949,21 @@ Backup::checkFile(Signal* signal, BackupFilePtr filePtr) req->userReference = reference(); req->fileFlag = 0; #ifdef DEBUG_ABORT ndbout_c("***** a FSCLOSEREQ filePtr.i = %u", filePtr.i); ndbout_c("***** a FSCLOSEREQ filePtr.i = %u run=%d cl=%d", filePtr.i, running, closing); #endif sendSignal(NDBFS_REF, GSN_FSCLOSEREQ, signal, FsCloseReq::SignalLength, JBA); } else { #ifdef DEBUG_ABORT ndbout_c("***** a NOT SENDING FSCLOSEREQ filePtr.i = %u run=%d cl=%d", filePtr.i, running, closing); #endif } } /**************************************************************************** Loading Loading @@ -4196,8 +4214,6 @@ Backup::closeFiles(Signal* sig, BackupRecordPtr ptr) continue; }//if filePtr.p->fileClosing = 1; if(filePtr.p->fileRunning == 1){ jam(); #ifdef DEBUG_ABORT Loading @@ -4206,6 +4222,9 @@ Backup::closeFiles(Signal* sig, BackupRecordPtr ptr) filePtr.p->operation.dataBuffer.eof(); } else { jam(); filePtr.p->fileClosing = 1; filePtr.p->operation.dataBuffer.eof(); checkFile(sig, filePtr); // make sure we write everything before closing FsCloseReq * req = (FsCloseReq *)sig->getDataPtrSend(); req->filePointer = filePtr.p->filePointer; Loading Loading @@ -4668,7 +4687,6 @@ Backup::execLCP_PREPARE_REQ(Signal* signal) jam(); BackupFilePtr filePtr; c_backupFilePool.getPtr(filePtr, ptr.p->dataFilePtr); filePtr.p->fileClosing = 1; filePtr.p->operation.dataBuffer.eof(); } Loading Loading @@ -4760,7 +4778,6 @@ Backup::execEND_LCPREQ(Signal* signal) BackupFilePtr filePtr; c_backupFilePool.getPtr(filePtr, ptr.p->dataFilePtr); filePtr.p->fileClosing = 1; filePtr.p->operation.dataBuffer.eof(); return; } Loading
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -228,6 +228,7 @@ AsyncFile::run() endReq(); return; default: DEBUG(ndbout_c("Invalid Request")); abort(); break; }//switch Loading Loading @@ -676,6 +677,7 @@ AsyncFile::extendfile(Request* request) { return 0; #else request = request; DEBUG(ndbout_c("no pwrite")); abort(); return -1; #endif Loading Loading @@ -792,6 +794,7 @@ AsyncFile::writeBuffer(const char * buf, size_t size, off_t offset, bytes_written = return_value; if(bytes_written == 0){ DEBUG(ndbout_c("no bytes written")); abort(); } Loading Loading @@ -830,8 +833,10 @@ AsyncFile::closeReq(Request * request) #else if (-1 == ::close(theFd)) { #ifndef DBUG_OFF if (theFd == -1) if (theFd == -1) { DEBUG(ndbout_c("close on fd = -1")); abort(); } #endif request->error = errno; } Loading Loading @@ -899,6 +904,7 @@ AsyncFile::appendReq(Request * request){ return; } if(n == 0){ DEBUG(ndbout_c("append with n=0")); abort(); } size -= n; Loading