ext3cow | |
Full Name: | Third extended file system with copy-on-write |
Developer: | Zachary Peterson (ext3cow versioning), Stephen Tweedie (ext3 design and implementation), Rémy Card (original ext2 design and implementation), Theodore Ts'o (tools and improvements), Andreas Gruenbacher (xattrs and ACLs), Andreas Dilger (online resizing), et al. |
Introduction Os: | Linux |
Partition Id: | 0x83 (MBR) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT) |
Directory Struct: | Table, Tree |
File Struct: | bitmap (free space), table (metadata) |
Bad Blocks Struct: | Table |
Max Filename Size: | 255 bytes |
Max Files No: | Variable1 |
Max Volume Size: | 8TiB |
Max File Size: | 2TiB |
Filename Character Set: | All bytes except NUL, '/' and '@' |
Dates Recorded: | modification (mtime), attribute modification (ctime), access (atime) |
Date Range: | December 14, 1901 - January 18, 2038 |
Date Resolution: | 1s |
Forks Streams: | Yes |
Attributes: | No-atime, append-only, synchronous-write, no-dump, h-tree (directory), immutable, journal, secure-delete, top (directory), allow-undelete |
File System Permissions: | Unix permissions, ACLs and arbitrary security attributes (Linux 2.6 and later) |
Compression: | No |
Versioning: | Yes |
Encryption: | No (provided at the block device level) |
Os: | Linux |
Ext3cow or third extended filesystem with copy-on-write is an open source, versioning file system based on the ext3 file system. Versioning is implemented through block-level copy-on-write. It shares many of its performance characteristics with ext3.
Ext3cow provides a time-shifting interface that permits a real-time and continuous view of data in the past. Time-shifting is a novel interface, introduced in ext3cow, allowing users to navigate through and access past namespaces by adding a time component to their commands.
Ext3cow was designed to be a platform for compliance with the versioning and auditability requirements of recent US electronic record retention legislation, such as Sarbanes-Oxley and HIPAA.
A version of ext3cow for the Linux 2.6 kernel was released on March 30, 2007.
Details on ext3cow's implementation can be found in a 2005 paper.[1]