Proposal for pCache

An ext2/ext3 Persistent Cache Partition

by Ed Sawicki and David May
Accelerated Learning Center
August 8, 2003

On PC-architecture computers, the hard disk partition table contains a type field that identifies the type of each partition. The field is a single byte resulting in only 256 values, with the values 0 and FF reserved. There appears to be no coordinating organization that assigns these values. Designers and manufacturers stake their claim to a value by simply using one. This results in partition types that are each tied to a vendor or specific software products and there are conflicts.

There are a few non-authoritative lists of the type codes, some more comprehensive than others. Here are the ones we know about:

Andries Brouwer

Powerquest

ctyme.com

BitsNBytes

Maverick

We wish to use one of these type codes for our systems but, we don't want to be part of the problem. Someone with a similar need in the future should not have to consume yet another precious type code. In the spirit of open source software, we can all share.

F9 - pCache

We propose that type code F9, which appears to be unused, be defined as the pCache partition or the "ext2/ext3 persistent cache partition". Anyone can use it for their persistent caching needs.

Persistent Cache Partition

We use the term persistent cache partition to mean a disk partition that holds an image of our system that has been placed there automatically by our software. This image will be refreshed from time to time. When our system boots up and recognizes a F9 partition, it assumes that it can place its images there even if it means overwriting a previous image.

This partition is not used to store user-generated data of any kind, including ephemeral data that you'd normally find in places like /tmp. There's normally no need to backup this partition.

Name space

To allow sharing of this partition, designers should place their files in their own directory (from the root). Do not place files in the root - they will not be assumed to be safe. To avoid directory naming conflicts, we'll volunteer to coordinate the names by placing them in the following table.

DirectoryPersonE-mail
ALC Ed Sawicki ed@alcpress.com
TCE Ed Sawicki ed@alcpress.com

To add your name to the list, contact ed@alcpress.com. Note that you should obfuscate your address (ed at alcpress.com) to avoid spam harvesters.

Number of pCache Partitions

There can be more than one pCache partition on a hard disk. This allows the amount of persistent cache to be increased without having to change existing partitions. With our system, we scan for pCache partitions at system bootup and check to see if they have our directory name.

Disk Space

This document does not discuss disk space issues. We use the pCache as a persistent cache for fixed-size images. When we refresh our images, we check for free disk space at that time. We notify the user or take some other action if there's not enough disk space.

When the cache is called upon to store variable-size data, other issues surface. We assume that you'll do the right thing, whatever that is.

Summary

We request that maintainers of type code lists add the F9 partition type and describe it as "pCache" and/or "ext2/ext3 persistent cache partition". You are welcome to link to this document.