Journals

Conferences

Open Access Articles- Top Results for Extent %28file systems%29

Extent (file systems)


An extent is a contiguous area of storage reserved for a file in a file system, represented as a range. A file can consist of zero or more extents; one file fragment requires one extent. The direct benefit is in storing each range compactly as two numbers, instead of canonically storing every block number in the range.[1]

Extent-based file systems can also eliminate most of the metadata overhead of large files that would traditionally be taken up by the block allocation tree. Because the savings are small compared to the amount of stored data (for all file sizes in general) but make up a large portion of the metadata (for large files), the benefits in storage efficiency and performance are slight,[2] whereas the reduction in metadata is significant and reduces exposure to file system corruption[citation needed] as one bad sector in the block allocation tree causes much greater data loss than one bad sector in stored data.

In order to resist fragmentation, several extent based file systems do allocate-on-flush. Many modern fault tolerant file systems also do copy-on-write, although that increases fragmentation.

Adoption

The following systems support extents:

  1. REDIRECT Template:Spaced ndash Automatic Storage Management
    1. REDIRECT Template:Spaced ndash Oracle's database-oriented filesystem
      1. REDIRECT Template:Spaced ndash BeOS, Zeta and Haiku operating systems
        1. REDIRECT Template:Spaced ndash GPL'd extent based file storage for Linux
          1. REDIRECT Template:Spaced ndash Linux filesystem (when the configuration enables extents
            1. REDIRECT Template:Spaced ndash the default in Linux since version 2.6.23)
              1. REDIRECT Template:Spaced ndash Digital Equipment Corporation (subsequently Hewlett-Packard) OpenVMS filesystem.
                1. REDIRECT Template:Spaced ndash Hierarchical File System
                  1. REDIRECT Template:Spaced ndash Apple Macintosh filesystems
                    1. REDIRECT Template:Spaced ndash High Performance File System
                      1. REDIRECT Template:Spaced ndash on OS/2 and eComStation
                        1. REDIRECT Template:Spaced ndash IceFileSystem
                          1. REDIRECT Template:Spaced ndash Optional file system for MorphOS
                            1. REDIRECT Template:Spaced ndash Journaled File System
                              1. REDIRECT Template:Spaced ndash used by AIX, OS/2/eComStation and Linux operating systems
                                1. REDIRECT Template:Spaced ndash a shared disk file system for Windows from Sanbolic
                                  1. REDIRECT Template:Spaced ndash versions 2000-2008 supports extents of up to 64 KB[3]
                                    1. REDIRECT Template:Spaced ndash a filesystem by Hewlett-Packard
                                      1. REDIRECT Template:Spaced ndash Microsoft's latest-generation file system
                                        1. REDIRECT Template:Spaced ndash Oracle Cluster File System
                                          1. REDIRECT Template:Spaced ndash a shared disk file system for Linux
                                            1. REDIRECT Template:Spaced ndash Linux filesystem (in "extents" mode)
                                              1. REDIRECT Template:Spaced ndash File system used by early computer company Norsk Data
                                                1. REDIRECT Template:Spaced ndash Universal Disk Format
                                                  1. REDIRECT Template:Spaced ndash standard for optical media
                                                    1. REDIRECT Template:Spaced ndash enabled via the pre-allocation API and CLI
                                                      1. REDIRECT Template:Spaced ndash SGI's second generation file system

As a similar design, the CP/M file system uses extents as well, but those do not correspond to the definition given above. CP/M's extents appear contiguously as a single block in the combined directory/allocation table, and they do not necessarily correspond to a contiguous data area on disk.

See also

References

  1. ^ "Understanding Ext4 (part1): Extents". 2010-12-20. Retrieved 2015-02-02. What's really a departure for EXT4 however, is the use of extents rather than the old, inefficient indirect block mechanism used by earlier Unix file systems (e.g. EXT2/EXT3) for tracking file content. Extents are similar to cluster runs in the NTFS file system — essentially they specify an initial block address and the number of blocks that make up the extent. A file that is fragmented will have multiple extents, but EXT4 tries very hard to keep files contiguous. 
  2. ^ "Ext4 Disk Layout". 2015-01-26. Retrieved 2015-02-02. If flex_bg is enabled, it is possible to allocate very large files with a single extent, at a considerable reduction in metadata block use, and some improvement in disk efficiency. 
  3. ^ "Understanding Pages and Extents". msdn.microsoft.com. Retrieved 2014-08-14. 

External links

  1. REDIRECT Template:Spaced ndash a comparison of block-based and extent-based allocation