fs: New zonefs file system
zonefs is a very simple file system exposing each zone of a zoned block device as a file. Unlike a regular file system with zoned block device support (e.g. f2fs), zonefs does not hide the sequential write constraint of zoned block devices to the user. Files representing sequential write zones of the device must be written sequentially starting from the end of the file (append only writes). As such, zonefs is in essence closer to a raw block device access interface than to a full featured POSIX file system. The goal of zonefs is to simplify the implementation of zoned block device support in applications by replacing raw block device file accesses with a richer file 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...
Showing
- MAINTAINERS 9 additions, 0 deletionsMAINTAINERS
- fs/Kconfig 1 addition, 0 deletionsfs/Kconfig
- fs/Makefile 1 addition, 0 deletionsfs/Makefile
- fs/zonefs/Kconfig 9 additions, 0 deletionsfs/zonefs/Kconfig
- fs/zonefs/Makefile 4 additions, 0 deletionsfs/zonefs/Makefile
- fs/zonefs/super.c 1439 additions, 0 deletionsfs/zonefs/super.c
- fs/zonefs/zonefs.h 189 additions, 0 deletionsfs/zonefs/zonefs.h
- include/uapi/linux/magic.h 1 addition, 0 deletionsinclude/uapi/linux/magic.h
Please register or sign in to comment