• Linus Torvalds's avatar
    Merge tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · 380a129e
    Linus Torvalds authored
    Pull new zonefs file system from Damien Le Moal:
     "Zonefs is a very simple file system exposing each zone of a zoned
      block device as a file.
      Unlike a regular file system with native 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. As a
      result, zonefs is not a POSIX compliant file system. 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 IO management implementation uses the new iomap generic code.
      Zonefs has been successfully tested using a functional test suite
      (available with zonefs userland format tool on github) and a prototype
      implementation of LevelDB on top of zonefs"
    * tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
      zonefs: Add documentation
      fs: New zonefs file system