int submitted = 0;
 
        /* readahead multi ssa blocks those have contiguous address */
-       if (sbi->segs_per_sec > 1)
+       if (__is_large_section(sbi))
                f2fs_ra_meta_pages(sbi, GET_SUM_BLOCK(sbi, segno),
                                        sbi->segs_per_sec, META_SSA, true);
 
        sbi->gc_pin_file_threshold = DEF_GC_FAILED_PINNED_FILES;
 
        /* give warm/cold data area from slower device */
-       if (sbi->s_ndevs && sbi->segs_per_sec == 1)
+       if (sbi->s_ndevs && !__is_large_section(sbi))
                SIT_I(sbi)->last_victim[ALLOC_NEXT] =
                                GET_SEGNO(sbi, FDEV(0).end_blk) + 1;
 }
 
        unsigned int start = 0, end = -1;
        unsigned int secno, start_segno;
        bool force = (cpc->reason & CP_DISCARD);
-       bool need_align = test_opt(sbi, LFS) && sbi->segs_per_sec > 1;
+       bool need_align = test_opt(sbi, LFS) && __is_large_section(sbi);
 
        mutex_lock(&dirty_i->seglist_lock);
 
                                        (end - 1) <= cpc->trim_end)
                                continue;
 
-               if (!test_opt(sbi, LFS) || sbi->segs_per_sec == 1) {
+               if (!test_opt(sbi, LFS) || !__is_large_section(sbi)) {
                        f2fs_issue_discard(sbi, START_BLOCK(sbi, start),
                                (end - start) << sbi->log_blocks_per_seg);
                        continue;
        /* update total number of valid blocks to be written in ckpt area */
        SIT_I(sbi)->written_valid_blocks += del;
 
-       if (sbi->segs_per_sec > 1)
+       if (__is_large_section(sbi))
                get_sec_entry(sbi, segno)->valid_blocks += del;
 }
 
 static unsigned int __get_next_segno(struct f2fs_sb_info *sbi, int type)
 {
        /* if segs_per_sec is large than 1, we need to keep original policy. */
-       if (sbi->segs_per_sec != 1)
+       if (__is_large_section(sbi))
                return CURSEG_I(sbi, type)->segno;
 
        if (unlikely(is_sbi_flag_set(sbi, SBI_CP_DISABLED)))
        struct discard_policy dpolicy;
        unsigned long long trimmed = 0;
        int err = 0;
-       bool need_align = test_opt(sbi, LFS) && sbi->segs_per_sec > 1;
+       bool need_align = test_opt(sbi, LFS) && __is_large_section(sbi);
 
        if (start >= MAX_BLKADDR(sbi) || range->len < sbi->blocksize)
                return -EINVAL;
        if (!sit_i->tmp_map)
                return -ENOMEM;
 
-       if (sbi->segs_per_sec > 1) {
+       if (__is_large_section(sbi)) {
                sit_i->sec_entries =
                        f2fs_kvzalloc(sbi, array_size(sizeof(struct sec_entry),
                                                      MAIN_SECS(sbi)),
                                        se->valid_blocks;
                        }
 
-                       if (sbi->segs_per_sec > 1)
+                       if (__is_large_section(sbi))
                                get_sec_entry(sbi, start)->valid_blocks +=
                                                        se->valid_blocks;
                }
                        sbi->discard_blks -= se->valid_blocks;
                }
 
-               if (sbi->segs_per_sec > 1) {
+               if (__is_large_section(sbi)) {
                        get_sec_entry(sbi, start)->valid_blocks +=
                                                        se->valid_blocks;
                        get_sec_entry(sbi, start)->valid_blocks -=