ext4 File System
Also known as: ext4 android, fourth extended filesystem
ext4 (fourth extended filesystem) is a widely used Linux journaling file system found on many Android devices' data partitions. It uses extents, delayed allocation, and a journal to store files reliably, and understanding it explains why Android storage fills up and how cleanup reclaims space.
- ext4 was merged into the mainline Linux kernel in 2008 and became a common default for Android data partitions.
- ext4 uses extents (contiguous block ranges) rather than per-block mapping, cutting fragmentation for large files.
- Its journal records pending changes first, so an interrupted write can be recovered instead of corrupting data.
How ext4 stores Android data
ext4 tracks every file through an inode, a metadata record holding size, timestamps, and permissions, while the file's name lives in a directory entry pointing to that inode. Free space is managed in block groups, and ext4 uses extents, contiguous ranges of blocks, instead of mapping each block individually, which reduces fragmentation and metadata overhead for large media files.
ext4 is a journaling filesystem: before committing changes it records them in a journal, so a power loss or crash mid-write can be replayed or rolled back instead of corrupting the volume. It also uses delayed allocation, deferring block assignment until data is flushed to pick more contiguous placement.
Why storage fills and how cleanup reclaims it
On Android, app caches, downloads, photos, and videos all consume blocks on the ext4 data partition. Storage "fills up" simply because more blocks are allocated to files and to leftover junk files like stale caches and thumbnails that apps never clean.
When a cleaner deletes a file, ext4 frees its blocks and inode back into the block-group free pool, immediately making that space available for new files. Because ext4 reports usage at the block level, removing large or duplicate files maps directly to recovered free space.