lkml.org 
[lkml]   [2019]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/2] New zonefs file system
    Date
    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 or the on-going btrfs effort), 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).

    zonefs is not a POSIX compliant file system. It's 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 IO management implementation uses the new iomap generic code.

    Damien Le Moal (2):
    fs: New zonefs file system
    zonefs: Add documentation

    Documentation/filesystems/zonefs.txt | 150 ++++
    MAINTAINERS | 10 +
    fs/Kconfig | 1 +
    fs/Makefile | 1 +
    fs/zonefs/Kconfig | 9 +
    fs/zonefs/Makefile | 4 +
    fs/zonefs/super.c | 1158 ++++++++++++++++++++++++++
    fs/zonefs/zonefs.h | 169 ++++
    include/uapi/linux/magic.h | 1 +
    9 files changed, 1503 insertions(+)
    create mode 100644 Documentation/filesystems/zonefs.txt
    create mode 100644 fs/zonefs/Kconfig
    create mode 100644 fs/zonefs/Makefile
    create mode 100644 fs/zonefs/super.c
    create mode 100644 fs/zonefs/zonefs.h

    --
    2.23.0

    \
     
     \ /
      Last update: 2019-12-12 19:39    [W:2.913 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site