| Developer(s) | CTERA Networks |
|---|---|
| Introduced | May 2010; 15 years ago (2010-05) withLinux 2.6 |
| Partition IDs | 0x83 (MBR) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT) |
| Structures | |
| Directory contents | Table,hashed B-tree with dir_index enabled |
| File allocation | bitmap (free space), table (metadata), snapshots are allocated as files from the volume free space |
| Bad blocks | Table |
| Limits | |
| Max volume size | 2TB – 16TB |
| Max file size | 2TB |
| Maxno. of files | Variable, allocated at creation time[1] |
| Max filename length | 254 bytes[citation needed] |
| Allowed filename characters | All bytes except NULL and '/' |
| Features | |
| Dates recorded | modification (mtime), attribute modification (ctime), access (atime) |
| Date range | December 14, 1901 – January 18, 2038 |
| Date resolution | 1s |
| 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) |
| Transparent compression | No |
| Transparent encryption | No (provided at the block device level) |
| Data deduplication | No |
| Other | |
| Supported operating systems | Linux |
Next3 is ajournaling file system forLinux based onext3 which addssnapshots support, yet retains compatibility to the ext3 on-disk format.[2][3] Next3 is implemented asopen-source software, licensed under theGPL license.
A snapshot is aread-only copy of the file system frozen at apoint in time. Versioning file systems like Next3 can internally track old versions of files and make snapshots available through a specialnamespace.
An advantage ofcopy-on-write is that when Next3 writes new data, the blocks containing the old data can be retained, allowing asnapshot version of the file system to be maintained. Next3 snapshots are created quickly, since all the data composing the snapshot is already stored; they are also space efficient, since any unchanged data is shared among the file system and its snapshots.[2]
The traditional LinuxLogical Volume Manager volume level snapshots implementation requires that storage space be allocated in advance. Next3 uses Dynamically provisioned snapshots, meaning it does not require pre-allocation of storage space for snapshots, instead allocating space as it is needed. Storage space is conserved by sharing unchanged data among the file system and its snapshots.[4]
Since Next3 aims to be bothforward andbackward compatible with the earlier ext3, all of the on-disk structures are identical to those of ext3.[2] The file system can be mounted for read by existing ext3 implementations with no modification. Because of that, Next3, like ext3, lacks a number of features of more recent designs, such asextents.[citation needed]
When there are no snapshots, Next3 performance is equivalent to ext3 performance. With snapshots, there is a minor overhead per write of metadata block (copy-on-write) and a smaller overhead (~1%) per write of data block (move-on-write).[5]
As of 2011, Next4, a project for porting of Next3 snapshot capabilities to theExt4 file system, is mostly completed. The porting is attributed to members of thePune Institute of Computer Technology (PICT) and theChinese Academy of Sciences.[6]