On 2019/1/4 12:20, Jaegeuk Kim wrote:
> Otherwise, we can get wrong counts incurring checkpoint hang.
>
> IO_W (CP: -24, Data: 24, Flush: ( 0 0 1), Discard: ( 0 0))
>
> Cc: <[email protected]>
> Signed-off-by: Jaegeuk Kim <[email protected]>
Good catch! ;)
I can understand this condition, but for other new developer who reads this
commit, it will be a little hard to understand situation here.
How about explaining a little more about problem here, maybe:
Thread A Thread B
- f2fs_write_data_pages
- __write_data_page
- f2fs_submit_page_write
- inc_page_count(F2FS_WB_DATA)
type is F2FS_WB_DATA due to file is non-atomic one
- f2fs_ioc_start_atomic_write
- set_inode_flag(FI_ATOMIC_FILE)
- f2fs_write_end_io
- dec_page_count(F2FS_WB_CP_DATA)
type is F2FS_WB_DATA due to file becomes
atomic one
Reviewed-by: Chao Yu <[email protected]>
Thanks,