I have been involved in Linux development since the early nineties and I am co-maintainer of the Linux SCSI subsystem and frequent contributor to the block I/O layer and libata.

I work as architect in Oracle's Linux Kernel Engineering group. My main focus is implementing support for future storage technologies in Linux. I also represent Oracle and Linux in T10 which governs the SCSI family of protocols, and I participate in other standards efforts such as SNIA and NVM Express.

Prior to Oracle I worked at Wild Open Source, a small consulting firm that I co-founded along with several Linuxcare expatriots. Among other things I worked on the base Linux distribution for Hewlett–Packard's XC clustering products and the Altix kernel for SGI.

Before WOS I was Staff Scientist with Linuxcare. I worked on bringing up Linux on HP's Itanium 2-based Integrity servers & workstations and I was part of the original team at SGI that ported the XFS filesystem to Linux.

From 1995 to 2000 I was head of the IC1&2 computing department at Aalborg University in Denmark. I also developed the GNOME Display Manager, helped bootstrap the PA-RISC Linux port, and co-founded the Danish SunSITE.

I studied physics and computer science at Aarhus University.


My personal kernel development repository
Linux SCSI subsystem repository

papers & presentations

SNIA Storage Developers Conference 2018: Recent Developments in The Linux I/O Stack
SNIA Storage Developers Conference 2017: Recent Developments in The Linux I/O Stack
SNIA Storage Developers Conference 2016: An Enhanced I/O Model for Modern Storage Devices
SNIA Storage Developers Conference 2014: Making Storage Smarter
Oracle Open World 2011: An Integrated End-to-End Data Integrity Solution for Oracle Products
LinuxCon 2010: Linux and Advanced Storage Technologies
Linux Symposium 2009: I/O Topology
Linux Collab Summit 2009: Data Integrity Enhancements & I/O Topology
Linux Storage & Filesystems Workshop 2009: I/O Topology
SNIA Storage Developers Conference 2008: Data Integrity in the Storage Stack
Open Source Days 2008: Linux Data Integrity
Linux Plumbers Conference 2008: Linux Data Integrity
Ottawa Linux Symposium 2008: DIF, DIX and Linux Data Integrity
Linux Storage & Filesystems Workshop 2008: Linux Data Integrity
Linux Storage & Filesystems Workshop 2007: Logical Block Guarding
Linux Symposium 2009: I/O Topology
Ottawa Linux Symposium 2008: Linux Data Integrity Extensions
Article published in Enterprise Open Source Magazine, January 2008: Proactively Preventing Data Corruption
design documents & notes
Copy Offload–Here Be Dragons, August 21st, 2019
DIX 1.1: Data Integrity Extensions for I/O Controllers, November 14th, 2013
Linux & Advanced Storage Interfaces, July 2nd, 2011
DIX 1.0: Data Integrity Extensions for I/O Controllers, November 19th, 2009
DIF/DIX Aware Linux SCSI HBA Interface, July 16, 2008
I/O Controller Requirements for Data Integrity-Aware Operating Systems, April 1st, 2008
Request Routing Using The Data Integrity Extensions, December 4th, 2007
A Note on Guard Tag Calculation Algorithms, February 10th, 2007
Brief overview of the Data Integrity Field knobs in SCSI Block Commands, December 29th, 2006

older projects

data integrity
The Linux Data Integrity Project.
A high-performance journaling file system.
pa-risc linux
Linux port to the Hewlett–Packard PA-RISC architecture.
ForteMedia FM801 OSS Lite sound driver for Linux 2.4.
The Gnome Display Manager. I authored all versions until 2.0 beta4.
A Linux version of the fstyp command found in most commercial Unices. fstyp can be used to heuristically detect which filesystem type a block device contains.
RPM Toolkit
Some handy perl scripts for merging and building RPM repositories.

contact information

My homepage at Oracle
Open Hub (ohloh)
email, present
mkp @ {,,, };
martin.petersen @ {, };
email, past
mkp @ {,,,,,,,,, };
gpg key
[ Verbose Index ] • [ Get Key ]
pub   4096R/75C5DE3D 2011-10-21
      Key fingerprint = 64EA 56DA 0530 C577 829A  1921 EEE9 601A 75C5 DE3D
uid                  Martin K. Petersen <>
uid                  Martin K. Petersen <>
sub   4096R/C7F582B5 2011-10-21