On 2019-1-24 20:57, zhengliang wrote:
> 
> The following race could lead to data block override node segment by mistake.
> 
> Task A            |    Task B         |  Task C            |    Task D
> =======           |   ========        |==========          |  =========
> open file         |                   |                    |
> white file        |                   |                    |
> submit bio        |                   |                    |
> wait io complete  |                   |                    |
>                 |   remove file     |                    |
> ........          |   iput_final      |                    |
>                 |                   |   sync             |
>                 |                   |  do checkpoint     |
>                 |                   |  data segment free |
>                 |                   |                    | create file1
>                 |                   |                    | allocate node 
> segment(if it is the same segment freed by Task C)
> f2fs_write_end_io |                 |                    |                    
>                                         
> 
> So we need to guarantee io complete before truncate inode
> in f2fs_drop_inode.
> 
> v1->v2: It don't need to pass @ino in f2fs_submit_merged_write_cond .
> 
> Signed-off-by: Zheng Liang <zhenglia...@huawei.com>

Reviewed-by: Chao Yu <yuch...@huawei.com>

Thanks,


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to