Hi Damien, Do you have time to take a look at this patch set, and add a reviewed-by if it is okay to you. :)
Thanks, On 2019-8-21 12:47, Shin'ichiro Kawasaki wrote: > On sudden f2fs shutdown, zoned block device status and f2fs meta data can be > inconsistent. When f2fs shutdown happens during write operations, write > pointers > on the device go forward but the f2fs meta data does not reflect write pointer > progress. This inconsistency will eventually cause "Unaligned write command" > error when restarting write operation after the next mount. This error can be > observed with xfstests test case generic/388, which enforces sudden shutdown > during write operation and checks the file system recovery. Once the error > happens because of the inconsistency, the file system requires fix. However, > fsck.f2fs does not have a feature to check and fix it. > > This patch series adds a new feature to fsck.f2fs to check and fix the > inconsistency. First and second patches add two functions which helps fsck to > call report zone and reset zone commands to zoned block devices. Third patch > checks write pointers of zones that current segments recorded in meta data > point > to. This covers the failure symptom observed with xfstests. The last patch > checks write pointers of zones that current segments do not point to, which > covers a potential failure scenario. > > This patch series depends on other patches for zoned block devices, then it > conflicts with the master branch in f2fs-tools.git as of Aug/19/2019. It can > be > applied without conflict to dev and dev-test branch tips. > > Changes from v1: > * Fixed build failure on dev branch > > Shin'ichiro Kawasaki (4): > libf2fs_zoned: Introduce f2fs_report_zones() helper function > libf2fs_zoned: Introduce f2fs_reset_zone() function > fsck.f2fs: Check write pointer consistency with current segments > fsck.f2fs: Check write pointer consistency with valid blocks count > > fsck/fsck.c | 161 ++++++++++++++++++++++++++++++++++++++++++++ > fsck/fsck.h | 3 + > fsck/main.c | 2 + > include/f2fs_fs.h | 3 + > lib/libf2fs_zoned.c | 81 ++++++++++++++++++++++ > 5 files changed, 250 insertions(+) > _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel