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

Reply via email to