aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/gc.c
AgeCommit message (Expand)AuthorFilesLines
10 daysf2fs: atomic: fix UAF issue on f2fs_inode_info.atomic_inodeChao Yu1-8/+42
10 daysf2fs: optimize representative type determination in GCDaeho Jeong1-3/+8
2026-04-21Merge tag 'f2fs-for-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-3/+20
2026-04-02f2fs: fix to freeze GC and discard threads quicklyDaeho Jeong1-0/+10
2026-04-02f2fs: fix to skip empty sections in f2fs_get_victimDaeho Jeong1-0/+3
2026-03-24f2fs: avoid reading already updated pages during GCJianan Huang1-1/+4
2026-03-24f2fs:Fix incomplete search range in f2fs_get_victim when f2fs_need_rand_seg i...liujinbao11-2/+3
2026-03-06treewide: change inode->i_ino from unsigned long to u64Jeff Layton1-1/+1
2026-02-10f2fs: sysfs: introduce critical_task_priorityChao Yu1-0/+2
2026-01-17f2fs: support non-4KB block size without packed_ssa featureDaeho Jeong1-11/+12
2026-01-07f2fs: trace elapsed time for cp_global_sem lockChao Yu1-2/+3
2026-01-07f2fs: trace elapsed time for gc_lock lockChao Yu1-10/+13
2026-01-07f2fs: trace elapsed time for cp_rwsem lockChao Yu1-2/+3
2026-01-07f2fs: flush plug periodically during GC to maximize readahead effectDaeho Jeong1-6/+13
2026-01-01f2fs: remove non-uptodate folio from the page cache in move_data_blockYongpeng Yang1-1/+5
2026-01-01f2fs: fix to add gc count stat in f2fs_gc_rangeZhiguo Niu1-0/+1
2025-12-16f2fs: improve check for enough free sectionsJoanne Chang1-1/+1
2025-12-04f2fs: revert summary entry count from 2048 to 512 in 16kb block supportDaeho Jeong1-47/+68
2025-12-04f2fs: fix uninitialized one_time_gc in victim_sel_policyXiaole He1-1/+1
2025-12-04f2fs: change the unlock parameter of f2fs_put_page to boolYongpeng Yang1-3/+3
2025-12-04f2fs: use f2fs_filemap_get_folio() instead of f2fs_pagecache_get_page()Chao Yu1-10/+13
2025-10-24f2fs: maintain one time GC mode is enabled during whole zoned GC cycleDaeho Jeong1-7/+10
2025-09-16f2fs: fix to avoid migrating empty sectionChao Yu1-1/+15
2025-08-29f2fs: Use allocate_section_policy to control write priority in multi-devices ...Liao Yuanhong1-0/+5
2025-08-28f2fs: fix to do sanity check on node footer for non inode dnodeChao Yu1-2/+2
2025-07-29f2fs: add gc_boost_gc_greedy sysfs nodeDaeho Jeong1-1/+2
2025-07-29f2fs: add gc_boost_gc_multiple sysfs nodeDaeho Jeong1-1/+2
2025-07-24f2fs: ignore valid ratio when free section count is lowDaeho Jeong1-6/+12
2025-07-24f2fs: merge the two conditions to avoid code duplicationmason.zhang1-6/+1
2025-07-22f2fs: Add folio counterparts to page_private_flags functionsMatthew Wilcox (Oracle)1-3/+3
2025-07-22f2fs: Pass a folio to IS_INODE()Matthew Wilcox (Oracle)1-1/+1
2025-07-22f2fs: Pass a folio to ofs_of_node()Matthew Wilcox (Oracle)1-1/+1
2025-07-22f2fs: Add fio->folioMatthew Wilcox (Oracle)1-3/+3
2025-07-22f2fs: Pass a folio to F2FS_INODE()Matthew Wilcox (Oracle)1-1/+1
2025-07-09f2fs: introduce is_cur{seg,sec}()Chao Yu1-1/+1
2025-06-23f2fs: turn off one_time when forcibly set to foreground GCDaeho Jeong1-0/+1
2025-06-23f2fs: make sure zoned device GC to use FG_GC in shortage of free sectionDaeho Jeong1-1/+1
2025-05-30Merge tag 'f2fs-for-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-71/+72
2025-05-28f2fs: introduce is_{meta,node}_folioChao Yu1-1/+1
2025-05-09f2fs: fix freezing filesystem during resizeChristian Brauner1-3/+3
2025-05-09super: add filesystem freezing helpers for suspend and hibernateChristian Brauner1-3/+3
2025-04-28f2fs: Convert dnode_of_data->node_page to node_folioMatthew Wilcox (Oracle)1-1/+1
2025-04-28f2fs: Use a folio in is_alive()Matthew Wilcox (Oracle)1-11/+11
2025-04-28f2fs: Convert f2fs_move_node_page() to f2fs_move_node_folio()Matthew Wilcox (Oracle)1-1/+1
2025-04-28f2fs: Use a folio in gc_node_segment()Matthew Wilcox (Oracle)1-8/+8
2025-04-28f2fs: Use a folio in move_data_block()Matthew Wilcox (Oracle)1-9/+8
2025-04-28f2fs: Use a folio in ra_data_block()Matthew Wilcox (Oracle)1-15/+15
2025-04-28f2fs: Use folios in do_garbage_collect()Matthew Wilcox (Oracle)1-14/+12
2025-04-28f2fs: Use a folio in move_data_block()Matthew Wilcox (Oracle)1-16/+17
2025-04-10f2fs: zone: fix to avoid inconsistence in between SIT and SSAChao Yu1-0/+3
2025-03-04f2fs: Convert gc_data_segment() to use a folioMatthew Wilcox (Oracle)1-4/+4
2025-03-04f2fs: Convert move_data_page() to use a folioMatthew Wilcox (Oracle)1-17/+17
2025-01-08f2fs: add parameter @len to f2fs_invalidate_internal_cache()Yi Sun1-1/+1
2024-12-16f2fs: The GC triggered by ioctl also needs to mark the segno as victimYongpeng Yang1-4/+7
2024-11-01f2fs: fix to avoid use GC_AT when setting gc_mode as GC_URGENT_LOW or GC_URGE...Zhiguo Niu1-0/+2
2024-10-14f2fs: introduce f2fs_get_section_mtimeliuderong1-13/+4
2024-09-13f2fs: forcibly migrate to secure space for zoned device file pinningDaeho Jeong1-2/+1
2024-09-12f2fs: remove unused parametersliuderong1-3/+3
2024-09-11f2fs: add valid block ratio not to do excessive GC for one time GCDaeho Jeong1-4/+12
2024-09-11f2fs: create gc_no_zoned_gc_percent and gc_boost_zoned_gc_percentDaeho Jeong1-3/+9
2024-09-11f2fs: do FG_GC when GC boosting is required for zoned devicesDaeho Jeong1-7/+17
2024-09-11f2fs: increase BG GC migration window granularity when boosted for zoned devicesDaeho Jeong1-2/+10
2024-09-11f2fs: introduce migration_window_granularityDaeho Jeong1-10/+21
2024-09-11f2fs: make BG GC more aggressive for zoned devicesDaeho Jeong1-4/+21
2024-07-10f2fs: use meta inode for GC of COW fileSunmin Jeong1-2/+5
2024-07-10f2fs: use meta inode for GC of atomic fileSunmin Jeong1-3/+3
2024-06-12f2fs: fix to remove redundant SBI_NEED_FSCK flag setZhiguo Niu1-1/+0
2024-06-12f2fs: fix to do sanity check on F2FS_INLINE_DATA flag in inode during GCChao Yu1-0/+10
2024-05-11f2fs: fix to add missing iput() in gc_data_segment()Chao Yu1-2/+7
2024-04-12f2fs: use folio_test_writebackJaegeuk Kim1-1/+1
2024-03-12f2fs: fix to handle error paths of {new,change}_curseg()Zhiguo Niu1-2/+5
2024-03-12f2fs: unify the error handling of f2fs_is_valid_blkaddrZhiguo Niu1-2/+0
2024-03-04f2fs: introduce SEGS_TO_BLKS/BLKS_TO_SEGS for cleanupChao Yu1-5/+5
2024-03-04f2fs: fix to check return value of f2fs_gc_rangeZhiguo Niu1-0/+3
2024-02-29f2fs: fix to handle segment allocation failure correctlyChao Yu1-1/+6
2024-02-27f2fs: support file pinning for zoned devicesDaeho Jeong1-4/+10
2024-02-27f2fs: kill heap-based allocationJaegeuk Kim1-3/+2
2024-02-27f2fs: separate f2fs_gc_range() to use GC for a rangeDaeho Jeong1-21/+28
2024-02-27f2fs: use BLKS_PER_SEG, BLKS_PER_SEC, and SEGS_PER_SECJaegeuk Kim1-20/+20
2024-02-20f2fs: deprecate io_bitsJaegeuk Kim1-9/+1
2023-12-26f2fs: Add error handling for negative returns from do_garbage_collectYongpeng Yang1-0/+3
2023-12-26f2fs: Use wait_event_freezable_timeout() for freezable kthreadKevin Hao1-3/+3
2023-12-11f2fs: introduce f2fs_invalidate_internal_cache() for cleanupChao Yu1-3/+2
2023-12-11f2fs: delete obsolete FI_FIRST_BLOCK_WRITTENChao Yu1-2/+0
2023-09-02Merge tag 'f2fs-for-6-6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-6/+12
2023-08-14f2fs: fix to account cp stats correctlyChao Yu1-0/+5
2023-08-14f2fs: fix to account gc stats correctlyChao Yu1-6/+7
2023-07-17fs: distinguish between user initiated freeze and kernel initiated freezeDarrick J. Wong1-3/+5
2023-06-26f2fs: check return value of freeze_super()Chao Yu1-1/+3
2023-06-12f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io()Chao Yu1-3/+18
2023-06-12f2fs: Fix over-estimating free section during FG GCYonggil Song1-5/+11
2023-05-08f2fs: support errors=remount-ro|continue|panic mountoptionChao Yu1-1/+1
2023-04-24f2fs: remove power-of-two limitation of zoned deviceJaegeuk Kim1-2/+2
2023-04-18f2fs: add has_enough_free_secs()Yangtao Li1-2/+2
2023-04-18f2fs: refactor f2fs_gc to call checkpoint in urgent conditionJaegeuk Kim1-14/+13
2023-04-12f2fs: fix to keep consistent i_gc_rwsem lock orderChao Yu1-4/+4
2023-04-10f2fs: Fix system crash due to lack of free space in LFSYonggil Song1-2/+8
2023-04-10f2fs: remove struct victim_selection default_v_opsYangtao Li1-11/+4
2023-03-29f2fs: factor out victim_entry usage from general rb_tree useJaegeuk Kim1-54/+85
2023-03-29f2fs: fix uninitialized skipped_gc_rwsemYonggil Song1-1/+1
2023-02-02f2fs: reduce stack memory cost by using bitfield in struct f2fs_io_infoChao Yu1-4/+4
2023-01-11f2fs: convert discard_wake and gc_wake to bool typeYangtao Li1-2/+2
2023-01-11f2fs: merge f2fs_show_injection_info() into time_to_inject()Yangtao Li1-3/+1
2023-01-06f2fs: avoid to check PG_error flagChao Yu1-1/+0
2023-01-06f2fs: add a f2fs_lookup_extent_cache_block helperChristoph Hellwig1-3/+2
2022-12-14Merge tag 'f2fs-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-36/+43
2022-12-12f2fs: reset wait_ms to default if any of the victims have been selectedYuwei Guan1-0/+4
2022-12-12f2fs: refactor extent_cache to support for read and moreJaegeuk Kim1-2/+2
2022-12-08f2fs: do some cleanup for f2fs module initYangtao Li1-3/+1
2022-11-28f2fs: avoid victim selection from previous victim sectionYonggil Song1-2/+3
2022-11-28f2fs: fix to do sanity check on i_extra_isize in is_alive()Chao Yu1-6/+12
2022-11-18treewide: use get_random_u32_below() instead of deprecated functionJason A. Donenfeld1-1/+1
2022-11-11f2fs: optimize iteration over sparse directoriesChao Yu1-2/+2
2022-11-01f2fs: replace gc_urgent_high_remaining with gc_remaining_trialsYangtao Li1-6/+6
2022-11-01f2fs: fix return val in f2fs_start_ckpt_thread()Yangtao Li1-8/+7
2022-11-01f2fs: fix gc mode when gc_urgent_high_remaining is 1Yangtao Li1-10/+9
2022-10-27f2fs: Fix the race condition of resize flag between resizefsZhang Qilong1-3/+2
2022-10-25f2fs: should put a page when checking the summary infoPavel Machek1-0/+1
2022-10-11treewide: use prandom_u32_max() when possible, part 1Jason A. Donenfeld1-1/+1
2022-10-04f2fs: support recording errors into superblockChao Yu1-0/+2
2022-10-04f2fs: support recording stop_checkpoint reason into super_blockChao Yu1-2/+4
2022-10-04f2fs: fix to do sanity check on summary infoChao Yu1-1/+9
2022-08-29f2fs: remove gc_urgent_high_limited for cleanupChao Yu1-4/+4
2022-08-29f2fs: iostat: support accounting compressed IOChao Yu1-5/+7
2022-08-29f2fs: fix wrong continue condition in GCJaegeuk Kim1-8/+4
2022-07-30f2fs: don't bother wait_ms by foreground gcqixiaoyu11-2/+5
2022-07-30f2fs: adjust zone capacity when considering valid block countJaegeuk Kim1-2/+2
2022-05-17f2fs: do not stop GC when requiring a free sectionJaegeuk Kim1-5/+9
2022-05-12f2fs: keep wait_ms if EAGAIN happensJaegeuk Kim1-2/+2
2022-05-12f2fs: introduce f2fs_gc_control to consolidate f2fs_gc parametersJaegeuk Kim1-33/+41
2022-05-12f2fs: change the current atomic write wayDaeho Jeong1-26/+1
2022-05-06f2fs: give priority to select unpinned section for foreground GCChao Yu1-14/+71
2022-05-06f2fs: write checkpoint during FG_GCByungki Lee1-14/+22
2022-04-25f2fs: don't set GC_FAILURE_PIN for background GCChao Yu1-1/+2
2022-04-25f2fs: check pinfile in gc_data_segment() in advanceChao Yu1-0/+7
2022-03-17f2fs: introduce gc_urgent_mid modeDaeho Jeong1-0/+3
2022-02-03f2fs: fix to unlock page correctly in error path of is_alive()Chao Yu1-1/+3
2022-01-24f2fs: move f2fs to use reader-unfair rwsemsTim Murray1-23/+23
2022-01-19Merge tag 'f2fs-for-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-5/+21
2022-01-15mm: introduce memalloc_retry_wait()NeilBrown1-3/+2
2022-01-04f2fs: do not bother checkpoint by f2fs_get_node_infoJaegeuk Kim1-3/+3
2021-12-10f2fs: add gc_urgent_high_remaining sysfs nodeDaeho Jeong1-0/+12
2021-12-10f2fs: fix to do sanity check in is_alive()Chao Yu1-0/+3
2021-12-10f2fs: fix to avoid panic in is_alive() if metadata is inconsistentChao Yu1-1/+1
2021-12-10f2fs: fix to do sanity check on inode type during garbage collectionChao Yu1-1/+2
2021-10-26f2fs: introduce fragment allocation mode mount optionDaeho Jeong1-1/+4
2021-08-30f2fs: fix to account missing .skipped_gc_rwsemChao Yu1-1/+3
2021-08-23f2fs: separate out iostat featureDaeho Jeong1-0/+1
2021-08-17f2fs: support fault injection for f2fs_kmem_cache_alloc()Chao Yu1-2/+4
2021-07-19f2fs: Revert "f2fs: Fix indefinite loop in f2fs_gc() v1"Jia Yang1-1/+1
2021-07-13f2fs: add sysfs nodes to get GC info for each GC modeDaeho Jeong1-0/+1
2021-06-28f2fs: remove false alarm on iget failure during GCJaegeuk Kim1-3/+1
2021-06-23f2fs: compress: add compress_inode to cache compressed blocksChao Yu1-0/+1
2021-06-23f2fs: logging neateningJoe Perches1-2/+2
2021-05-14f2fs: atgc: fix to set default age thresholdChao Yu1-0/+1
2021-05-14f2fs: restructure f2fs page.private layoutChao Yu1-3/+3
2021-04-10f2fs: clean up build warningsYi Zhuang1-1/+5
2021-03-30f2fs: introduce gc_merge mount optionChao Yu1-4/+22
2021-03-26f2fs: fix to avoid touching checkpointed data in get_victim()Chao Yu1-8/+20
2021-03-25f2fs: do not use AT_SSR mode in FG_GC & high urgent BG_GCWeichao Guo1-1/+2
2021-03-12f2fs: fix panic during f2fs_resize_fs()Chao Yu1-0/+13
2021-03-12f2fs: fix to allow migrating fully valid segmentChao Yu1-9/+12
2021-01-27f2fs: trival cleanup in move_data_block()Chao Yu1-5/+3
2020-12-02f2fs: change to use rwsem for cp_mutexSahitya Tummala1-2/+2
2020-09-14f2fs: clean up kvfreeChao Yu1-2/+2
2020-09-11f2fs: support age threshold based garbage collectionChao Yu1-8/+372
2020-09-10f2fs: inherit mtime of original block during GCChao Yu1-2/+2
2020-09-10f2fs: introduce inmem cursegChao Yu1-1/+1
2020-09-10f2fs: support zone capacity less than zone sizeAravind Ramesh1-6/+19
2020-07-07f2fs: add GC_URGENT_LOW mode in gc_urgentDaeho Jeong1-3/+3
2020-07-07f2fs: fix return value of move_data_block()Chao Yu1-1/+3
2020-07-07f2fs: add f2fs_gc exception handle in f2fs_ioc_gc_rangeQilong Zhang1-6/+14
2020-07-07f2fs: clean up parameter of f2fs_allocate_data_block()Chao Yu1-1/+1
2020-07-07f2fs: add prefix for exported symbolsChao Yu1-1/+1
2020-06-18f2fs: get the right gc victim section when section has several segmentsJack Qiu1-16/+23
2020-05-11f2fs: add compressed/gc data read IO statChao Yu1-0/+2
2020-05-11f2fs: refactor resize_fs to avoid meta updates in progressJaegeuk Kim1-49/+68
2020-04-17f2fs: support read iostatChao Yu1-0/+6
2020-03-30f2fs: don't trigger data flush in foreground operationChao Yu1-1/+1
2020-03-22f2fs: fix to update f2fs_super_block fields under sb_lockChao Yu1-4/+13
2020-03-22f2fs: Fix mount failure due to SPO after a successful online resize FSSahitya Tummala1-0/+6
2020-03-19f2fs: skip migration only when BG_GC is calledJaegeuk Kim1-1/+1
2020-03-19f2fs: introduce DEFAULT_IO_TIMEOUTChao Yu1-1/+2
2020-03-19f2fs: skip GC when section is fullJaegeuk Kim1-2/+2
2020-03-19f2fs: add migration count iff migration happensJaegeuk Kim1-1/+1
2020-03-19f2fs: clean up bggc mount optionChao Yu1-1/+5
2020-03-19f2fs: clean up lfs/adaptive mount optionChao Yu1-1/+1
2020-03-19f2fs: clean up codes with {f2fs_,}data_blkaddr()Chao Yu1-1/+1
2020-03-10f2fs: fix inconsistent commentsChao Yu1-1/+4
2020-01-23f2fs: Add f2fs stats to sysfsHridya Valsaraju1-1/+1
2020-01-17f2fs: change to use rwsem for gc_mutexChao Yu1-6/+6
2020-01-17f2fs: run fsck when getting bad inode during GCJaegeuk Kim1-1/+3
2019-11-25f2fs: stop GC when the victim becomes fully validJaegeuk Kim1-2/+8
2019-11-19f2fs: show f2fs instance in printk_ratelimitedChao Yu1-1/+1
2019-10-22f2fs: update multi-dev metadata in resize_fsQiuyang Sun1-2/+32
2019-09-09f2fs: Fix indefinite loop in f2fs_gc()Sahitya Tummala1-1/+1
2019-08-23f2fs: Fix indefinite loop in f2fs_gc()Sahitya Tummala1-1/+24
2019-07-26f2fs: fix to read source block before invalidating itJaegeuk Kim1-36/+34
2019-07-02f2fs: use generic EFSBADCRC/EFSCORRUPTEDChao Yu1-3/+3
2019-07-02f2fs: introduce f2fs_<level> macros to wrap f2fs_printk()Joe Perches1-14/+9