f2fs: fix to avoid use SSR allocate when do defragment
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 <zhiguo.niu@unisoc.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>