Fourth extended file system for Linux
ext4 (fourth extended file system) is a journaling file system developed for Linux as the successor to ext3. It provides significant improvements in performance, scalability, and reliability. Key features of ext4 include support for very large file systems (up to 1 exabyte) and files (up to 16 terabytes), extents (contiguous block allocation that reduces fragmentation and improves performance), delayed allocation (improves performance by better grouping writes), journal checksumming (improves reliability), and persistent preallocation (guarantees space for files). ext4 maintains backward compatibility with ext2 and ext3, allowing ext4 partitions to be mounted as ext3. The file system uses a balanced tree structure for directory indexing, enabling faster file lookups in large directories. ext4 also supports nanosecond timestamps, larger inodes (256 bytes or more), and unlimited subdirectories. Journaling options include writeback (metadata only), ordered (metadata after data, default), and journal (full data and metadata journaling). ext4 is the default file system for most Linux distributions and is widely used due to its stability, performance, and feature set, though newer file systems like Btrfs and XFS are gaining popularity for specific use cases.