Module kdevice::log[][src]

Expand description

Log layer supporting transaction operations on blocks.

The isolation level is Read Committed.

Structs

Log

Generic log layer with buffer cache.

OpGuard

Returned by end_op.

Constants

LOGMAGIC

Magic value in the header.

LOGSIZE

Maximum number of blocks to be trace by log. Note that the log layer use additional one block to store log header. Thus, the total number of blocks used by log is LOGSIZE + 1, which is exactly BSIZE.

MAXEXOPBLOCKS

Maximum number of blocks per exclusive transactional operation.

MAXOPBLOCKS

Maximum number of blocks per transactional operation. The caller should guarantee this between each pair of begin_op and end_op.

NBUF

Number of in-memory buffer. Theoretically, LOGSIZE + 2(one for log header and one for install_trans) is enough.