By dyewilliam Date Tue Feb 11, 2020 11:11pm
Western Digital Proposes Zonefs File-System For Linux 5.6
One of the last features to land today for Linux 5.6 ahead of the merge window closure is Western Digital's Zonefs file-system.
Zonefs is the Western Digital developed file-system that they presented last year for zoned block devices. Zonefs exposes each zone of a zoned block device as a file, compared to traditional file-systems or how zoned block device support is exposed through the likes of F2FS and friends on host-managed/host-aware SMR (Shingled Magnetic Recording) disk drives.
Zoned storage has been one of the areas of increasing interest by Western Digital for ever increasing capacity of disk drives while making them more economical. On the Western Digital blog they cover the Zoned Storage Initiative.
Zonefs is not POSIX-compliant and exposes each zone of a zoned block device as its own file. This file-system isn't intended for conventional use-cases but rather making specialized use of zoned storage. Western Digital's Damien Le Moal explained, "Its goal is to simplify the implementation of zoned block devices support in applications by replacing raw block device file accesses with a richer file based API, avoiding relying on direct block device file ioctls which may be more obscure to developers. One example of this approach is the implementation of LSM (log-structured merge) tree structures (such as used in RocksDB and LevelDB) on zoned block devices by allowing SSTables to be stored in a zone file similarly to a regular file system rather than as a range of sectors of a zoned device. The introduction of the higher level construct "one file is one zone" can help reducing the amount of changes needed in the application while at the same time allowing the use of zoned block devices with various programming languages other than C."
Zonefs has been quickly going through many rounds of patch review in an effort to get it ready for possible inclusion in Linux 5.6.
Friday night, a pull request was sent in for adding this file-system and its mere two thousand lines of code. It's trying to go mainline directly into the file-system area as opposed to staging first.
As of writing Linus Torvalds hasn't pulled Zonefs yet nor commented on it in rejection, it's quite likely today he will honor it before tagging Linux 5.6-rc1. Stay tuned.
UPDATE: Shortly before declaring Linux 5.6-rc1, Linus Torvalds did indeed honor this pull request, making Zonefs one of many Linux 5.6 features.
Design, Development, Technology