Common Log File System

Common Log File System

Common Log File System (CLFS) is a general-purpose logging subsystem that is accessible to both kernel-mode as well as user-mode applications for building high-performance transaction logs. It was introduced with Windows Server 2003 R2 and included in later Windows OSs. CLFS can be used for both data logging as well as for event logging. CLFS is used by TxF and TxR to store transactional state changes before they commit a transaction.

Overview

The job of CLFS, like any other transactional logging system, is to record a series of steps required for some action so that they can be either played back accurately in the future to commit the transaction to secondary storage or undone if required. CLFS first marshals logs records to in-memory buffers and then writes them to log-files on secondary storage (stable media in CLFS terminology) for permanent persistence. When the data will be flushed to stable media is controlled by built-in policies, but a CLFS client application can override that and force a flush. CLFS allows for customizable log formats, expansion and truncation of logs according to defined policies, as well as simultaneous use by multiple client applications. CLFS is able to store log files anywhere on the file system.[1]

CLFS defines a device driver interface (DDI), via which physical storage system specific drivers plug in to the CLFS API. The CLFS driver implements the ARIES recovery algorithm; other algorithms can be supported by using custom drivers.[1]

CLFS supports both dedicated logs, as well as multiplexed logs. A dedicated log contains a single stream of log records whereas multiplexed log contain multiple streams, each stream for a different application. Even though a multiplexed log has multiple streams, logs are flushed to the streams sequentially, in a single batch. CLFS can allocate space for a set of log records ahead-of-time (before the logs are actually generated) to make sure the operation does not fail due to lack of storage space.[1]

A log record in a CLFS stream is first placed to Log I/O Block in a buffer in system memory. Periodically blocks are flushed to stable storage devices. On the storage device, a log contains a set of Containers, which are allocated contiguously, each containing multiple Log I/O Blocks. New log records are appended to the present set. Each record is identified by a Log Sequence Number (LSN), an increasing 32-bit sequence number. The LSN and other metadata are stored in the record header. The LSN encodes the identifier of the container, the offset to the record and the identifier of the record - this information is used to access the log record subsequently. However, the container identifiers are logical identifiers, they must be mapped to physical containers. The mapping is done by CLFS itself.[2]

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Log-structured file system — A log structured filesystem is a file system design first proposed by John K. Ousterhout and Fred Douglis. Designed for high write throughput, all updates to data and metadata are written sequentially to a continuous stream, called a log.… …   Wikipedia

  • Common Unix Printing System — Infobox Software name = Common Unix Printing System caption = CUPS Logo author = Michael Sweet developer = Apple Inc., who purchased it from Easy Software Products released = 1999 06 09 latest release version = 1.3.9 latest release date = release …   Wikipedia

  • File system — For library and office filing systems, see Library classification. Further information: Filing cabinet A file system (or filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store,… …   Wikipedia

  • Journaling file system — For the IBM Journaled File System, see JFS (file system). A journaling file system is a file system that keeps track of the changes that will be made in a journal (usually a circular log in a dedicated area of the file system) before committing… …   Wikipedia

  • Zettabyte File System — ZFS (Zettabyte File System)  файловая система, изначально созданная в Sun Microsystems для операционной системы Solaris. Эта файловая система поддерживает большие объёмы данных, объединяет концепции файловой системы и менеджера логических… …   Википедия

  • Unix File System — Infobox filesystem full name = UNIX file system name = UFS developer = CSRG introduction os = 4.2BSD introduction date = partition id = directory struct = table file struct = bad blocks struct = max file size = 2^73 bytes (8 ZiB) max files no =… …   Wikipedia

  • Log — Log, n. [Icel. l[=a]g a felled tree, log; akin to E. lie. See {Lie} to lie prostrate.] 1. A bulky piece of wood which has not been shaped by hewing or sawing. [1913 Webster] 2. [Prob. the same word as in sense 1; cf. LG. log, lock, Dan. log, Sw.… …   The Collaborative International Dictionary of English

  • Log board — Log Log, n. [Icel. l[=a]g a felled tree, log; akin to E. lie. See {Lie} to lie prostrate.] 1. A bulky piece of wood which has not been shaped by hewing or sawing. [1913 Webster] 2. [Prob. the same word as in sense 1; cf. LG. log, lock, Dan. log,… …   The Collaborative International Dictionary of English

  • Log book — Log Log, n. [Icel. l[=a]g a felled tree, log; akin to E. lie. See {Lie} to lie prostrate.] 1. A bulky piece of wood which has not been shaped by hewing or sawing. [1913 Webster] 2. [Prob. the same word as in sense 1; cf. LG. log, lock, Dan. log,… …   The Collaborative International Dictionary of English

  • Log cabin — Log Log, n. [Icel. l[=a]g a felled tree, log; akin to E. lie. See {Lie} to lie prostrate.] 1. A bulky piece of wood which has not been shaped by hewing or sawing. [1913 Webster] 2. [Prob. the same word as in sense 1; cf. LG. log, lock, Dan. log,… …   The Collaborative International Dictionary of English

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”