NVM Express Zoned Namespace command set specification allows host software to communicate with a NVM subsystem using zones. ZNS defines a host-managed zoned block device model for NVMe devices. It divides the logical address space of a namespace into zones. Each zone provides a LBA range that shall be written sequentially. An explicit reset of zone is needed to write to the zone again.
ZNS defines a per zone capacity which can be equal or less than the zone-size. Zone-capacity is the number of usable blocks in the zone. This patchset implements support for ZNS devices with a zone-capacity that is less that the device zone-size. Add checks in mkfs and fsck to consider zone-capacity and calculate the overprovision ratio and free_user_blocks based on the usable segments in a zone. This series is based on the git tree git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git branch dev Aravind Ramesh (2): mkfs.f2fs: zns zone-capacity support. fsck.f2fs: validate free seg count on zns device configure.ac | 4 +++ fsck/fsck.c | 5 +-- fsck/fsck.h | 2 ++ fsck/mount.c | 75 +++++++++++++++++++++++++++++++++++++++++++-- include/f2fs_fs.h | 40 +++++++++++++++++++++--- lib/libf2fs_io.c | 1 + lib/libf2fs_zoned.c | 51 ++++++++++++++++++++++++++++-- mkfs/f2fs_format.c | 26 +++++++++++++--- 8 files changed, 189 insertions(+), 15 deletions(-) -- 2.19.1 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel