Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
This commit is contained in:
commit
1149fd7afb
@ -3933,6 +3933,13 @@ Backup::checkFile(Signal* signal, BackupFilePtr filePtr)
|
|||||||
return;
|
return;
|
||||||
}//if
|
}//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->fileRunning = 0;
|
||||||
filePtr.p->fileClosing = 1;
|
filePtr.p->fileClosing = 1;
|
||||||
|
|
||||||
@ -3942,9 +3949,20 @@ Backup::checkFile(Signal* signal, BackupFilePtr filePtr)
|
|||||||
req->userReference = reference();
|
req->userReference = reference();
|
||||||
req->fileFlag = 0;
|
req->fileFlag = 0;
|
||||||
#ifdef DEBUG_ABORT
|
#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
|
#endif
|
||||||
sendSignal(NDBFS_REF, GSN_FSCLOSEREQ, signal, FsCloseReq::SignalLength, JBA);
|
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
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -4196,8 +4214,6 @@ Backup::closeFiles(Signal* sig, BackupRecordPtr ptr)
|
|||||||
continue;
|
continue;
|
||||||
}//if
|
}//if
|
||||||
|
|
||||||
filePtr.p->fileClosing = 1;
|
|
||||||
|
|
||||||
if(filePtr.p->fileRunning == 1){
|
if(filePtr.p->fileRunning == 1){
|
||||||
jam();
|
jam();
|
||||||
#ifdef DEBUG_ABORT
|
#ifdef DEBUG_ABORT
|
||||||
@ -4206,6 +4222,9 @@ Backup::closeFiles(Signal* sig, BackupRecordPtr ptr)
|
|||||||
filePtr.p->operation.dataBuffer.eof();
|
filePtr.p->operation.dataBuffer.eof();
|
||||||
} else {
|
} else {
|
||||||
jam();
|
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();
|
FsCloseReq * req = (FsCloseReq *)sig->getDataPtrSend();
|
||||||
req->filePointer = filePtr.p->filePointer;
|
req->filePointer = filePtr.p->filePointer;
|
||||||
@ -4668,7 +4687,6 @@ Backup::execLCP_PREPARE_REQ(Signal* signal)
|
|||||||
jam();
|
jam();
|
||||||
BackupFilePtr filePtr;
|
BackupFilePtr filePtr;
|
||||||
c_backupFilePool.getPtr(filePtr, ptr.p->dataFilePtr);
|
c_backupFilePool.getPtr(filePtr, ptr.p->dataFilePtr);
|
||||||
filePtr.p->fileClosing = 1;
|
|
||||||
filePtr.p->operation.dataBuffer.eof();
|
filePtr.p->operation.dataBuffer.eof();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4760,7 +4778,6 @@ Backup::execEND_LCPREQ(Signal* signal)
|
|||||||
|
|
||||||
BackupFilePtr filePtr;
|
BackupFilePtr filePtr;
|
||||||
c_backupFilePool.getPtr(filePtr, ptr.p->dataFilePtr);
|
c_backupFilePool.getPtr(filePtr, ptr.p->dataFilePtr);
|
||||||
filePtr.p->fileClosing = 1;
|
|
||||||
filePtr.p->operation.dataBuffer.eof();
|
filePtr.p->operation.dataBuffer.eof();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -228,6 +228,7 @@ AsyncFile::run()
|
|||||||
endReq();
|
endReq();
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
|
DEBUG(ndbout_c("Invalid Request"));
|
||||||
abort();
|
abort();
|
||||||
break;
|
break;
|
||||||
}//switch
|
}//switch
|
||||||
@ -676,6 +677,7 @@ AsyncFile::extendfile(Request* request) {
|
|||||||
return 0;
|
return 0;
|
||||||
#else
|
#else
|
||||||
request = request;
|
request = request;
|
||||||
|
DEBUG(ndbout_c("no pwrite"));
|
||||||
abort();
|
abort();
|
||||||
return -1;
|
return -1;
|
||||||
#endif
|
#endif
|
||||||
@ -792,6 +794,7 @@ AsyncFile::writeBuffer(const char * buf, size_t size, off_t offset,
|
|||||||
bytes_written = return_value;
|
bytes_written = return_value;
|
||||||
|
|
||||||
if(bytes_written == 0){
|
if(bytes_written == 0){
|
||||||
|
DEBUG(ndbout_c("no bytes written"));
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -830,8 +833,10 @@ AsyncFile::closeReq(Request * request)
|
|||||||
#else
|
#else
|
||||||
if (-1 == ::close(theFd)) {
|
if (-1 == ::close(theFd)) {
|
||||||
#ifndef DBUG_OFF
|
#ifndef DBUG_OFF
|
||||||
if (theFd == -1)
|
if (theFd == -1) {
|
||||||
|
DEBUG(ndbout_c("close on fd = -1"));
|
||||||
abort();
|
abort();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
request->error = errno;
|
request->error = errno;
|
||||||
}
|
}
|
||||||
@ -899,6 +904,7 @@ AsyncFile::appendReq(Request * request){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(n == 0){
|
if(n == 0){
|
||||||
|
DEBUG(ndbout_c("append with n=0"));
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
size -= n;
|
size -= n;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user