Journaling FFS with WAPBL

Jörg Sonnenberger

joerg@NetBSD.org

Overview

A short introduction to FFS

The FFS superblock

Inodes

Directories

Cylinder groups

Consistency requirements

Practical example: mkdir(2)

WAPBL: Goals

WAPBL: Components

Overview: The WAPBL backend

In-depth: Journal layout

In-depth: Journal layout (II)

In-depth: Journal replay

Overview: FFS integration

Journal location

In-depth: mkdir(2)

In-depth: mkdir(2) journal record

In-depth: ffs_write

Performance: test system

Performance (I): 10x pkgsrc.tar.bz2

Performance (II): build.sh release

Open issues

Q&A

Questions?