2024-05-29 09:57:41

by Chao Yu

[permalink] [raw]
Subject: Re: [PATCH v2] f2fs: fix to avoid use SSR allocate when do defragment

On 2024/5/29 17:47, Zhiguo Niu wrote:
> SSR allocate mode will be used when doing file defragment
> if ATGC is working at the same time, that is because
> set_page_private_gcing may make CURSEG_ALL_DATA_ATGC segment
> type got in f2fs_allocate_data_block when defragment page
> is writeback, which may cause file fragmentation is worse.
>
> A file with 2 fragmentations is changed as following after defragment:
>
> ----------------file info-------------------
> sensorsdata :
> --------------------------------------------
> dev [254:48]
> ino [0x 3029 : 12329]
> mode [0x 81b0 : 33200]
> nlink [0x 1 : 1]
> uid [0x 27e6 : 10214]
> gid [0x 27e6 : 10214]
> size [0x 242000 : 2367488]
> blksize [0x 1000 : 4096]
> blocks [0x 1210 : 4624]
> --------------------------------------------
>
> file_pos start_blk end_blk blks
> 0 11361121 11361207 87
> 356352 11361215 11361216 2
> 364544 11361218 11361218 1
> 368640 11361220 11361221 2
> 376832 11361224 11361225 2
> 385024 11361227 11361238 12
> 434176 11361240 11361252 13
> 487424 11361254 11361254 1
> 491520 11361271 11361279 9
> 528384 3681794 3681795 2
> 536576 3681797 3681797 1
> 540672 3681799 3681799 1
> 544768 3681803 3681803 1
> 548864 3681805 3681805 1
> 552960 3681807 3681807 1
> 557056 3681809 3681809 1
>
> Signed-off-by: Zhiguo Niu <[email protected]>

Reviewed-by: Chao Yu <[email protected]>

Thanks,