Chao, On 2019/08/23 22:09, Chao Yu wrote: > 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. :)
My apologies for not chiming in earlier. Shinichiro works in my group and I asked him to work on this. We have gone through several iterations internally and this is the latest version. So: Reviewed-by: Damien Le Moal <damien.lem...@wdc.com> > > 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(+) >> > -- Damien Le Moal Western Digital Research _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel