#include <dur_journalimpl.h>
Classes | |
struct | JFile |
Public Member Functions | |
void | assureLogFileOpen () |
void | cleanup () |
unsigned long long | curFileId () const |
boost::filesystem::path | getFilePathFor (int filenumber) const |
void | init () |
void | journal (const AlignedBuilder &b) |
Journal () | |
unsigned long long | lastFlushTime () const |
void | open () |
void | rotate () |
Public Attributes | |
string | dir |
Static Public Attributes | |
static const unsigned long long | DataLimit = (sizeof(void*)==4) ? 256 * 1024 * 1024 : 1 * 1024 * 1024 * 1024 |
Private Member Functions | |
void | _open () |
void | closeCurrentJournalFile () |
void | removeUnneededJournalFiles () |
void | updateLSNFile () |
Static Private Member Functions | |
static void | postFlush () |
static void | preFlush () |
Private Attributes | |
unsigned long long | _curFileId |
LogFile * | _curLogFile |
mutex | _curLogFileMutex |
unsigned long long | _lastFlushTime |
unsigned | _nextFileNumber |
list< JFile > | _oldJournalFiles |
unsigned long long | _preFlushTime |
bool | _writeToLSNNeeded |
unsigned long long | _written |
the writeahead journal for durability
Definition at line 25 of file dur_journalimpl.h.
mongo::dur::Journal::Journal | ( | ) |
void mongo::dur::Journal::_open | ( | ) | [private] |
void mongo::dur::Journal::assureLogFileOpen | ( | ) | [inline] |
Definition at line 55 of file dur_journalimpl.h.
void mongo::dur::Journal::cleanup | ( | ) |
void mongo::dur::Journal::closeCurrentJournalFile | ( | ) | [private] |
unsigned long long mongo::dur::Journal::curFileId | ( | ) | const [inline] |
Definition at line 53 of file dur_journalimpl.h.
boost::filesystem::path mongo::dur::Journal::getFilePathFor | ( | int | filenumber | ) | const |
void mongo::dur::Journal::init | ( | ) |
call during startup by journalMakeDir()
void mongo::dur::Journal::journal | ( | const AlignedBuilder & | b | ) |
write to journal
unsigned long long mongo::dur::Journal::lastFlushTime | ( | ) | const [inline] |
Definition at line 44 of file dur_journalimpl.h.
void mongo::dur::Journal::open | ( | ) |
open a journal file to journal operations to.
static void mongo::dur::Journal::postFlush | ( | ) | [static, private] |
static void mongo::dur::Journal::preFlush | ( | ) | [static, private] |
void mongo::dur::Journal::removeUnneededJournalFiles | ( | ) | [private] |
void mongo::dur::Journal::rotate | ( | ) |
check if time to rotate files. assure a file is open. done separately from the journal() call as we can do this part outside of lock. thread: durThread()
void mongo::dur::Journal::updateLSNFile | ( | ) | [private] |
unsigned long long mongo::dur::Journal::_curFileId [private] |
Definition at line 75 of file dur_journalimpl.h.
LogFile* mongo::dur::Journal::_curLogFile [private] |
Definition at line 74 of file dur_journalimpl.h.
mutex mongo::dur::Journal::_curLogFileMutex [private] |
Definition at line 72 of file dur_journalimpl.h.
unsigned long long mongo::dur::Journal::_lastFlushTime [private] |
Definition at line 90 of file dur_journalimpl.h.
unsigned mongo::dur::Journal::_nextFileNumber [private] |
Definition at line 70 of file dur_journalimpl.h.
list<JFile> mongo::dur::Journal::_oldJournalFiles [private] |
Definition at line 84 of file dur_journalimpl.h.
unsigned long long mongo::dur::Journal::_preFlushTime [private] |
Definition at line 89 of file dur_journalimpl.h.
bool mongo::dur::Journal::_writeToLSNNeeded [private] |
Definition at line 91 of file dur_journalimpl.h.
unsigned long long mongo::dur::Journal::_written [private] |
Definition at line 69 of file dur_journalimpl.h.
const unsigned long long mongo::dur::Journal::DataLimit = (sizeof(void*)==4) ? 256 * 1024 * 1024 : 1 * 1024 * 1024 * 1024 [static] |
Definition at line 51 of file dur_journalimpl.h.
string mongo::dur::Journal::dir |
Definition at line 24 of file dur_journalimpl.h.