third_party_f2fs-tools/lib
Aravind Ramesh f8410857b7 f2fs-tools: zns zone-capacity support
NVM Express Zoned Namespace (ZNS) devices can have zone-capacity(zc) less
than the zone-size. 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. If zone-capacity is less than zone-size, then the segments
which start at/after zone-capacity are considered unusable. Only those
segments which start before the zone-capacity are considered as usable
and added to the free_segment_count and free_segment_bitmap of the kernel.
In such cases, the filesystem should not write/read beyond the
zone-capacity.

Update the super block with the usable number of blocks and free segment
count in the ZNS device zones, if zone-capacity is less than zone-size.
Set reserved segment count and overprovision ratio based on the usable
segments in the zone.

Allow fsck to find the free_segment_count based on the zone-capacity and
compare with checkpoint values.

Signed-off-by: Aravind Ramesh <aravind.ramesh@wdc.com>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
[Jaegeuk Kim: add UNUSED to is_usable_seg()]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2020-08-20 09:08:34 -07:00
..
libf2fs_io.c f2fs-tools: zns zone-capacity support 2020-08-20 09:08:34 -07:00
libf2fs_zoned.c f2fs-tools: zns zone-capacity support 2020-08-20 09:08:34 -07:00
libf2fs.c mkfs.f2fs: add casefolding and project quota config 2020-07-20 17:39:02 -07:00
Makefile.am f2fs-tools: Add support for Casefolding 2019-08-27 14:51:05 -07:00
nls_utf8.c f2fs-tools: Add support for Casefolding 2019-08-27 14:51:05 -07:00
utf8data.h f2fs-tools: Add support for Casefolding 2019-08-27 14:51:05 -07:00