Though it hasn’t grabbed much attention compared to other upcoming changes, Android 13 is poised to impose a big new requirement on smartphone manufacturers. All devices launching with Android 13 or later will have to use Huawei’s EROFS file system format for read-only partitions if they want to ship with access to Google’s services and the Play Store. But it’s not an arbitrary change, and customers will enjoy some real benefits from it, like potentially faster update downloads and a little less storage space lost to the system.

The change was first spotted by Esper.io's Mishaal Rahman in a series of commits over recent months and an upcoming scheduled talk by Google that telegraphs the change. Google's licensing requirements can sometimes be secretive, though certain technical changes like this are often highlighted in things like the Android Compatibility Definition documentation, and more detailed information could be available when Android 13 nears launch.

File systems are a fantastically complex subject, but the short version is that different types of storage media and different use cases require different optimizations to work best. A spinning mechanical disk will have different requirements than read-only optical media or flash memory, and imposing exactly the same rules on each can eliminate advantages and impose unnecessary performance penalties. Filesystems aren’t one-size-fits-all, and choosing the right one for a given storage type and application can offer real benefits.

For example, in 2018, Google adopted Samsung’s snazzy flash storage-optimized F2FS for the user data partitions on Pixels. Other Android phones (both before and after) have also used it. While it offers multiple advantages for flash-based storage systems, among the biggest are improved write speeds and reduced performance degradation when space is limited. But what if you don't need to worry that much about write speed, as in the case of a read-only system partition? Most Android phones just go with EXT4 in that case, but that file system doesn't support compression in the way other recent file systems do, opening the door for further optimization.

I don’t know precisely how much Huawei’s EROFS shares with other file system formats at a technical level, but it delivers its own improvements that make it well-suited for system partition use cases. Some system and hidden partitions on an Android device are read-only, which means they don't have to be continuously modified, even if they end up being changed once in a while by updates.

In that circumstance, compressing them seems like a no-brainer, but compression typically imposes performance penalties on memory use or read/write speeds. Write speeds don't really matter much in a read-only partition, of course, but read speeds do. Thankfully, EROFS is both faster when randomly reading from a compressed read-only partition and reduces memory overhead when you have to do it. And, by virtue of being compressed, it reduces the space that these read-only partitions may need to occupy, freeing them up for other uses or even potentially returning the saved space to the customer. Rahman reports that a Cuttlefish virtual Android device image can save around 800MB of space when built using the format. This may also reduce the size of images deployed in OTA updates, saving customers precious data.

Benchmarks from the presentation and research paper. In short: Lots of benefits for read-only partition use cases, few drawbacks.

In a paper submitted by one of the file system’s creators, EROFS "reduces the boot time of real-world applications by up to 22.9% while nearly halving the storage usage." Although the numbers actually shown in the research paper varied and example benchmarks demonstrated more modest gains most of the time, the improvements were still substantial, and the new file system can even beat out the standard Android EXT4 in non-compressed applications: "Compared with Ext4 and F2FS without compression support, EROFS always performs comparably with and even outperforms them."

It doesn't look like there are any real downsides to using EROFS for read-only system partitions, and it would seem Google agrees. Over recent months, more of its internal tools have been updated to better support it. Some vendors like OPPO and Xiaomi have actually already been using it. And, according to a pattern of recent commits, Google is making it a requirement for devices launching with Android 13 — at least, if you want to use Google's apps and store.

Rahman tells us that the Pixel 7 will be among the first new phones to meet this soon-to-be-imposed requirement, taking advantage of the new file system format when they land later this year. User data partitions on most phones will still presumably be either EXT4 or F2FS in the meantime — unless Google imposes any new requirements on that later.

UPDATE: 2022/05/26 09:58 EST BY RYNE HAGER

Other filesystems will still be accepted

New commits indicate that Google is going to relax this requirement, and read-only partitions can still use EXT4 or F2FS, as spotted by Rahman:

When the Android 13 Vendor Software Requirements are finalized, we'll know for sure, but it seems like Google has decided not to move ahead with imposing EROFS as necessary for read-only partitions on Android 13.

The context of our original coverage is preserved above in case Google changes its mind again.