Re: [PATCH] f2fs: set_code_data in move_data_block

From: Chao Yu
Date: Sat Feb 10 2018 - 22:50:34 EST


On 2018/2/11 11:34, Yunlong Song wrote:
> Ping...
>
> move_data_block misses set_cold_data, then the F2FS_WB_CP_DATA will
> lack these data pages in move_data_block, and write_checkpoint can
> not make sure this pages committed to the flash.

Hmm.. data block migration is running based on meta inode, so it will
be safe since checkpoint will flush all meta pages including encrypted
pages cached in meta inode?

Thanks,

>
> On 2018/2/8 20:33, Yunlong Song wrote:
>> Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
>> ---
>> fs/f2fs/gc.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
>> index b9d93fd..2095630 100644
>> --- a/fs/f2fs/gc.c
>> +++ b/fs/f2fs/gc.c
>> @@ -692,6 +692,7 @@ static void move_data_block(struct inode *inode, block_t bidx,
>> fio.op = REQ_OP_WRITE;
>> fio.op_flags = REQ_SYNC;
>> fio.new_blkaddr = newaddr;
>> + set_cold_data(fio.page);
>> err = f2fs_submit_page_write(&fio);
>> if (err) {
>> if (PageWriteback(fio.encrypted_page))
>>
>