Next3

Journaling filesystem based on ext3


title: "Next3" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["disk-file-systems", "file-systems-supported-by-the-linux-kernel", "2010-software", "computer-file-systems"] description: "Journaling filesystem based on ext3" topic_path: "technology/operating-systems" source: "https://en.wikipedia.org/wiki/Next3" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Journaling filesystem based on ext3 ::

::data[format=table title="Infobox Filesystem"]

FieldValue
nameNext3
developerCTERA Networks
introduction_osLinux 2.6
introduction_date
partition_id0x83 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
directory_structTable, hashed B-tree with dir_index enabled
file_structbitmap (free space), table (metadata), snapshots are allocated as files from the volume free space
bad_blocks_structTable
max_filename_size254 bytes
max_files_noVariable, allocated at creation time
max_volume_size2 TB – 16 TB
max_file_size2 TB
filename_character_setAll bytes except NULL and '/'
dates_recordedmodification (mtime), attribute modification (ctime), access (atime)
date_rangeDecember 14, 1901 – January 18, 2038
date_resolution1s
attributesNo-atime, append-only, synchronous-write, no-dump, h-tree (directory), immutable, journal, secure-delete, top (directory), allow-undelete
file_system_permissionsUnix permissions, ACLs and arbitrary security attributes (Linux 2.6 and later)
compressionNo
encryptionNo (provided at the block device level)
single_instance_storageNo
OSLinux
::

| name = Next3 | full_name = | developer = CTERA Networks | introduction_os = Linux 2.6 | introduction_date = | partition_id = 0x83 (MBR) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT) | directory_struct = Table, hashed B-tree with dir_index enabled | file_struct = bitmap (free space), table (metadata), snapshots are allocated as files from the volume free space | bad_blocks_struct = Table | max_filename_size = 254 bytes | max_files_no = Variable, allocated at creation time | max_volume_size = 2 TB – 16 TB | max_file_size = 2 TB | filename_character_set = All bytes except NULL and '/' | dates_recorded = modification (mtime), attribute modification (ctime), access (atime) | date_range = December 14, 1901 – January 18, 2038 | date_resolution = 1s | forks_streams = | 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 | encryption = No (provided at the block device level) | single_instance_storage = No | OS = Linux

Next3 is a journaling file system for Linux based on ext3 which adds snapshots support, yet retains compatibility to the ext3 on-disk format. Next3 is implemented as open-source software, licensed under the GPL license.

Background

A snapshot is a read-only copy of the file system frozen at a point in time. Versioning file systems like Next3 can internally track old versions of files and make snapshots available through a special namespace.

Features

Snapshots

An advantage of copy-on-write is that when Next3 writes new data, the blocks containing the old data can be retained, allowing a snapshot 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.

Dynamically Provisioned Snapshots Space

The traditional Linux Logical 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.

Compatibility

Since Next3 aims to be both forward and backward compatible with the earlier ext3, all of the on-disk structures are identical to those of ext3. 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 as extents.

Performance

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).

Next4

As of 2011, Next4, a project for porting of Next3 snapshot capabilities to the Ext4 file system, is mostly completed. The porting is attributed to members of the Pune Institute of Computer Technology (PICT) and the Chinese Academy of Sciences.

References

References

  1. The maximum number of inodes (and hence the maximum number of files and directories) is set when the file system is created. If ''V'' is the volume size in bytes, then the default number of inodes is given by ''V''/213 (or the number of blocks, whichever is less), and the minimum by ''V''/223. The default was deemed sufficient for most applications. The max number of subdirectories in one directory is fixed to 32000.
  2. Corbet, Jonathan. "The Next3 filesystem". LWN.
  3. [http://www.h-online.com/open/news/item/Next3-Ext3-with-snapshots-1020107.html Next3: Ext3 with snapshots]. The H Open. June 11, 2010
  4. Shread, Paul. (June 8, 2010). "CTERA Adds Data Protection to Linux File Systems".
  5. "Next3 FAQ".
  6. [https://next3.sourceforge.net/ NEXT3 Filesystem Home Page]

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

disk-file-systemsfile-systems-supported-by-the-linux-kernel2010-softwarecomputer-file-systems