Journaled block device

Journaled block device

JBD, or journaling block device, is a generic block device journaling layer in the Linux kernel written by Stephen C. Tweedie from Red Hat.

Overview

JBD provides an abstract interface that can be used by any file systems to provide journaling. Up to date, only ext3, ext4 (JBD2), and OCFS2 are known to use JBD.

JBD structures

Atomic handle

An atomic handle as basically a collection of all the low-level changes that occur during a single high-level atomic update to the file system. The atomic handle guarantees that the high-level update either happens or not, because the actual changes to the file system are flushed only after logging the atomic handle in the journal.

Transaction

For the sake of efficiency and performance, JBD groups several atomic handles into a single transaction, which is written to the journal after a fixed amount of time elapses or there is no free space left on the journal to fit it.

The transaction has several states:

* Running - it means that the transaction is still live and can accept more handles
* Locked - not accepting new handles, but the existing ones are still unfinished
* Flush - the transaction is complete and is being written to the journal
* Commit - the transaction is written to the journal and now the changes are being applied to the file system
* Finished - the transaction has been fully written to the journal and the block device. It can be deleted from the journal.

Recovery

Based on the transaction states, the JBD is able to determine which transactions need to be replayed (or reapplied) to the file system.

ources

* [http://kerneltrap.org/node/6741 Linux: The Journaling Block Device] (Kedar Sovani, "KernelTrap", June 20, 2006)
* Linux kernel v2.6.19.1 source


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Journaled File System — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • Ext3 — infobox filesystem name = ext3 full name = Third extended file system developer = Stephen Tweedie introduction os = Linux 2.4.15 introduction date = November 2001 partition id = 0x83 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6B72699C7 (GPT) directory… …   Wikipedia

  • Abkürzungen/Computer — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

  • Liste der Abkürzungen (Computer) — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

  • Liste von Abkürzungen (Computer) — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. Inhaltsverzeichnis A B C D E F G H I J K L M N O P Q R S T U V W X Y Z siehe auch: Liste von Dateiendu …   Deutsch Wikipedia

  • JFS (file system) — infobox filesystem name = JFS full name = IBM Journaled File System developer = IBM et al. introduction os = JFS1 in AIX 3.1 and JFS in OS/2 4.5 introduction date = 1990 and 1999 partition id = 0x35 (MBR) file struct = Bitmap/extents bad blocks… …   Wikipedia

  • List of file systems — The following lists identify, characterize and link to more thorough information on computer file systems.Many older operating systems support only their one native file system, which does not bear any name apart from the name of the operating… …   Wikipedia

  • Linux-Kernel — Linux (Kernel) Entwickler Linus Torvalds u. v. m. Sprache(n) …   Deutsch Wikipedia

  • Linux Kernel — Linux (Kernel) Entwickler Linus Torvalds u. v. m. Sprache(n) …   Deutsch Wikipedia

  • Linuxkernel — Linux (Kernel) Entwickler Linus Torvalds u. v. m. Sprache(n) …   Deutsch Wikipedia

Share the article and excerpts

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