aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/mballoc.c
AgeCommit message (Expand)AuthorFilesLines
2024-03-07ext4: remove unused parameter biop in ext4_issue_discard()Wenchao Hao1-11/+5
2024-03-07ext4: don't report EOPNOTSUPP errors from discardJan Kara1-1/+7
2024-02-21ext4: correct best extent lstart adjustment logicBaokun Li1-6/+11
2024-02-21ext4: add a hint for block bitmap corrupt state in mb_groupsZhang Yi1-1/+4
2024-02-21ext4: improve error msg for ext4_mb_seq_groups_showyangerkun1-1/+2
2024-02-21ext4: remove unused buddy_loaded in ext4_mb_seq_groups_showyangerkun1-7/+6
2024-01-18ext4: remove 'needed' in trace_ext4_discard_preallocationsKemeng Shi1-3/+2
2024-01-18ext4: remove unnecessary parameter "needed" in ext4_discard_preallocationsKemeng Shi1-7/+3
2024-01-18ext4: remove unused return value of ext4_mb_release_group_paKemeng Shi1-4/+2
2024-01-18ext4: remove unused return value of ext4_mb_release_inode_paKemeng Shi1-3/+1
2024-01-18ext4: remove unused return value of ext4_mb_releaseKemeng Shi1-3/+1
2024-01-18ext4: remove unneeded return value of ext4_mb_release_contextKemeng Shi1-2/+1
2024-01-18ext4: remove unused parameter ngroup in ext4_mb_choose_next_group_*()Kemeng Shi1-6/+6
2024-01-18ext4: remove unused return value of __mb_check_buddyKemeng Shi1-4/+3
2024-01-18ext4: mark the group block bitmap as corrupted before reporting an errorBaokun Li1-11/+11
2024-01-18ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()Baokun Li1-5/+4
2024-01-18ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()Baokun Li1-0/+4
2024-01-18ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block bitmap ...Baokun Li1-1/+1
2024-01-18ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()Baokun Li1-18/+21
2024-01-18ext4: regenerate buddy after block freeing failed if under fc replayBaokun Li1-0/+20
2024-01-18ext4: do not trim the group with corrupted block bitmapBaokun Li1-0/+3
2024-01-10ext4: fix inconsistent between segment fstrim and full fstrimYe Bin1-3/+8
2024-01-10ext4: fallback to complex scan if aligned scan doesn't workOjaswin Mujoo1-8/+13
2024-01-10ext4: allow for the last group to be marked as trimmedSuraj Jitindar Singh1-5/+10
2024-01-04ext4: improving calculation of 'fe_{len|start}' in mb_find_extent()Gou Hao1-9/+4
2024-01-04ext4: delete redundant calculations in ext4_mb_get_buddy_page_lock()Gou Hao1-3/+2
2023-11-30ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKSBaokun Li1-0/+4
2023-10-05ext4: add first unit test for ext4_mb_new_blocks_simple in mballocKemeng Shi1-0/+4
2023-10-05ext4: add some kunit stub for mballoc kunit testKemeng Shi1-0/+5
2023-10-05ext4: call ext4_mb_mark_context in ext4_group_add_blocks()Kemeng Shi1-72/+10
2023-10-05ext4: Separate block bitmap and buddy bitmap freeing in ext4_group_add_blocks()Kemeng Shi1-28/+26
2023-10-05ext4: call ext4_mb_mark_context in ext4_mb_clear_bbKemeng Shi1-59/+10
2023-10-05ext4: Separate block bitmap and buddy bitmap freeing in ext4_mb_clear_bb()Kemeng Shi1-49/+49
2023-10-05ext4: call ext4_mb_mark_context in ext4_mb_mark_diskspace_usedKemeng Shi1-66/+20
2023-10-05ext4: extend ext4_mb_mark_context to support allocation under journalKemeng Shi1-15/+49
2023-10-05ext4: call ext4_mb_mark_context in ext4_free_blocks_simpleKemeng Shi1-32/+1
2023-10-05ext4: factor out codes to update block bitmap and group descriptor on disk fr...Kemeng Shi1-70/+77
2023-10-05ext4: make state in ext4_mb_mark_bb to be boolKemeng Shi1-2/+2
2023-10-05ext4: no need to generate from free list in mballocWang Jianjian1-33/+6
2023-10-05ext4: make running and commit transaction have their own freed_data_listJinke Han1-13/+5
2023-09-14ext4: do not let fstrim block system suspendJan Kara1-2/+10
2023-09-14ext4: move setting of trimmed bit into ext4_try_to_trim_range()Jan Kara1-21/+25
2023-08-27ext4: use LIST_HEAD() to initialize the list_head in mballoc.cRuan Jinjie1-13/+5
2023-08-27ext4: mballoc: avoid garbage value from errSu Hui1-1/+1
2023-08-27ext4: use sbi instead of EXT4_SB(sb) in ext4_mb_new_blocks_simple()Lu Hongfei1-1/+1
2023-08-27ext4: change the type of blocksize in ext4_mb_init_cache()Lu Hongfei1-1/+1
2023-08-05ext4: don't use CR_BEST_AVAIL_LEN for non-regular filesRitesh Harjani1-1/+12
2023-08-03ext4: correct some stale comment of criteriaKemeng Shi1-4/+4
2023-08-03ext4: return found group directly in ext4_mb_choose_next_group_best_availKemeng Shi1-10/+8
2023-08-03ext4: return found group directly in ext4_mb_choose_next_group_goal_fastKemeng Shi1-8/+6
2023-08-03ext4: replace the traditional ternary conditional operator with with max()/min()Kemeng Shi1-4/+2
2023-08-03ext4: remove unnecessary return for void functionKemeng Shi1-9/+1
2023-08-03ext4: use is_power_of_2 helper in ext4_mb_regular_allocatorKemeng Shi1-4/+1
2023-08-03ext4: return found group directly in ext4_mb_choose_next_group_p2_alignedKemeng Shi1-14/+7
2023-08-03ext4: avoid potential data overflow in next_linear_groupKemeng Shi1-2/+3
2023-08-03ext4: correct grp validation in ext4_mb_good_groupKemeng Shi1-1/+1
2023-08-03ext4: replace CR_FAST macro with inline function for readabilityOjaswin Mujoo1-4/+9
2023-07-29ext4: drop EXT4_MF_FS_ABORTED flagJan Kara1-2/+2
2023-07-29ext4: avoid overlapping preallocations due to overflowBaokun Li1-11/+10
2023-07-29ext4: fix BUG in ext4_mb_new_inode_pa() due to overflowBaokun Li1-17/+14
2023-07-29ext4: add two helper functions extent_logical_end() and pa_logical_end()Baokun Li1-6/+3
2023-07-23ext4: fix rbtree traversal bug in ext4_mb_use_preallocatedOjaswin Mujoo1-27/+131
2023-07-23ext4: fix off by one issue in ext4_mb_choose_next_group_best_avail()Ojaswin Mujoo1-5/+9
2023-06-26ext4: clean up mballoc criteria commentsTheodore Ts'o1-10/+9
2023-06-26ext4: Give symbolic names to mballoc criteriasOjaswin Mujoo1-118/+153
2023-06-26ext4: Add allocation criteria 1.5 (CR1_5)Ojaswin Mujoo1-9/+126
2023-06-26ext4: Abstract out logic to search average fragment listOjaswin Mujoo1-18/+33
2023-06-26ext4: Ensure ext4_mb_prefetch_fini() is called for all prefetched BGsOjaswin Mujoo1-4/+0
2023-06-26ext4: Don't skip prefetching BLOCK_UNINIT groupsOjaswin Mujoo1-6/+2
2023-06-26ext4: Avoid scanning smaller extents in BG during CR1Ojaswin Mujoo1-1/+18
2023-06-26ext4: Add counter to track successful allocation of goal lengthOjaswin Mujoo1-0/+3
2023-06-26ext4: Add per CR extent scanned counterOjaswin Mujoo1-0/+12
2023-06-26ext4: Convert mballoc cr (criteria) to enumOjaswin Mujoo1-48/+48
2023-06-26ext4: mballoc: Remove useless setting of ac_criteriaRitesh Harjani1-2/+4
2023-06-26ext4: fix wrong unit use in ext4_mb_new_blocksKemeng Shi1-1/+1
2023-06-26ext4: fix wrong unit use in ext4_mb_clear_bbKemeng Shi1-2/+2
2023-06-26ext4: remove unused parameter from ext4_mb_new_blocks_simple()Kemeng Shi1-70/+67
2023-06-26ext4: get block from bh in ext4_free_blocks for fast commit replayKemeng Shi1-6/+7
2023-06-15ext4: try all groups in ext4_mb_new_blocks_simpleKemeng Shi1-3/+6
2023-06-15ext4: add EXT4_MB_HINT_GOAL_ONLY test in ext4_mb_use_preallocatedKemeng Shi1-1/+33
2023-06-15ext4: treat stripe in block unitKemeng Shi1-7/+11
2023-06-15ext4: fix wrong unit use in ext4_mb_find_by_goalKemeng Shi1-2/+1
2023-06-15ext4: fix unit mismatch in ext4_mb_new_blocks_simpleKemeng Shi1-2/+4
2023-06-15ext4: fix wrong unit use in ext4_mb_normalize_requestKemeng Shi1-1/+1
2023-06-02Revert "ext4: remove ac->ac_found > sbi->s_mb_min_to_scan dead check in ext4_...Ojaswin Mujoo1-1/+15
2023-05-13ext4: remove a BUG_ON in ext4_mb_release_group_pa()Theodore Ts'o1-1/+5
2023-05-13ext4: allow ext4_get_group_info() to failTheodore Ts'o1-11/+53
2023-04-06ext4: Remove the logic to trim inode PAsOjaswin Mujoo1-20/+0
2023-04-06ext4: Use rbtrees to manage PAs instead of inode i_prealloc_listOjaswin Mujoo1-79/+207
2023-04-06ext4: Convert pa->pa_inode_list and pa->pa_obj_lock into a unionOjaswin Mujoo1-32/+44
2023-04-06ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()Ojaswin Mujoo1-18/+31
2023-04-06ext4: Abstract out overlap fix/check logic in ext4_mb_normalize_request()Ojaswin Mujoo1-41/+68
2023-04-06ext4: Move overlap assert logic into a separate functionOjaswin Mujoo1-11/+24
2023-04-06ext4: Refactor code in ext4_mb_normalize_request() and ext4_mb_use_preallocat...Ojaswin Mujoo1-47/+49
2023-04-06ext4: Refactor code related to freeing PAsOjaswin Mujoo1-9/+21
2023-04-06ext4: Stop searching if PA doesn't satisfy non-extent fileOjaswin Mujoo1-2/+7
2023-04-06ext4: convert some BUG_ON's in mballoc to use WARN_RATELIMITED insteadTheodore Ts'o1-6/+19
2023-04-06ext4: avoid unnecessary pointer dereference in ext4_mb_normalize_requestKemeng Shi1-5/+3
2023-04-06ext4: fix typos in mballocKemeng Shi1-2/+2
2023-04-06ext4: simplify calculation of blkoff in ext4_mb_new_blocks_simpleKemeng Shi1-3/+2
2023-04-06ext4: remove comment code ext4_discard_preallocationsKemeng Shi1-1/+0
2023-04-06ext4: remove repeat assignment to ac_f_exKemeng Shi1-8/+0
2023-04-06ext4: remove unnecessary goto in ext4_mb_mark_diskspace_usedKemeng Shi1-3/+1
2023-04-06ext4: remove unnecessary count2 in ext4_free_data_in_buddyKemeng Shi1-4/+2
2023-04-06ext4: remove unnecessary exit_meta_group_info tagKemeng Shi1-2/+1
2023-04-06ext4: use best found when complex scan of group finishsKemeng Shi1-12/+2
2023-04-06ext4: remove ac->ac_found > sbi->s_mb_min_to_scan dead check in ext4_mb_check...Kemeng Shi1-2/+1
2023-04-06ext4: remove dead check in mb_buddy_mark_freeKemeng Shi1-1/+2
2023-04-06ext4: remove unnecessary check in ext4_mb_new_blocksKemeng Shi1-3/+2
2023-04-06ext4: remove unnecessary e4b->bd_buddy_page check in ext4_mb_load_buddy_gfpKemeng Shi1-2/+1
2023-04-06ext4: Remove unnecessary release when memory allocation failed in ext4_mb_ini...Kemeng Shi1-4/+2
2023-04-06ext4: remove unused return value of ext4_mb_try_best_found and ext4_mb_free_m...Kemeng Shi1-7/+4
2023-04-06ext4: add missed brelse in ext4_free_blocks_simpleKemeng Shi1-3/+4
2023-04-06ext4: protect pa->pa_free in ext4_discard_allocated_blocksKemeng Shi1-1/+4
2023-04-06ext4: correct start of used group pa for debug in ext4_mb_use_group_paKemeng Shi1-1/+1
2023-04-06ext4: correct calculation of s_mb_preallocatedKemeng Shi1-1/+1
2023-04-06ext4: get correct ext4_group_info in ext4_mb_prefetch_finiKemeng Shi1-4/+4
2023-04-06ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is setKemeng Shi1-1/+1
2023-04-06ext4: set goal start correctly in ext4_mb_normalize_requestKemeng Shi1-6/+10
2023-03-23ext4: remove unused group parameter in ext4_block_bitmap_csum_setKemeng Shi1-5/+5
2022-12-08ext4: make ext4_mb_initialize_context return voidGuoqing Jiang1-8/+2
2022-09-26ext4: fixup possible uninitialized variable access in ext4_mb_choose_next_gro...Jan Kara1-2/+1
2022-09-22ext4: limit the number of retries after discarding preallocations blocksTheodore Ts'o1-1/+3
2022-09-21ext4: use buckets for cr 1 block scan instead of rbtreeJan Kara1-143/+106
2022-09-21ext4: use locality group preallocation for small closed filesJan Kara1-12/+15
2022-09-21ext4: avoid unnecessary spreading of allocations among groupsJan Kara1-11/+13
2022-09-21ext4: make mballoc try target group first even with mb_optimize_scanJan Kara1-7/+7
2022-08-02ext4: block range must be validated before use in ext4_mb_clear_bb()Lukas Czerner1-1/+20
2022-08-02ext4: reuse order and buddy in mb_mark_used when buddy splithanjinke1-2/+8
2022-06-18ext4: correct the judgment of BUG in ext4_mb_normalize_requestBaokun Li1-1/+16
2022-06-18ext4: fix bug_on ext4_mb_use_inode_paBaokun Li1-0/+9
2022-05-24Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/t...Linus Torvalds1-11/+14
2022-05-17ext4: mark group as trimmed only if it was fully scannedDmitry Monakhov1-6/+12
2022-05-11ext4: remove unnecessary code in __mb_check_buddyJinke Han1-4/+1
2022-05-11ext4: remove unnecessary type castingsYu Zhe1-1/+1
2022-04-17block: decouple REQ_OP_SECURE_ERASE from REQ_OP_DISCARDChristoph Hellwig1-1/+1
2022-04-17block: add a bdev_discard_granularity helperChristoph Hellwig1-3/+3
2022-04-17block: add a bdev_nonrot helperChristoph Hellwig1-1/+1
2022-03-12ext4: make mb_optimize_scan performance mount option work with extentsOjaswin Mujoo1-1/+1
2022-03-02ext4: fix ext4_mb_clear_bb() kernel-doc commentYang Li1-1/+0
2022-02-25ext4: add extra check in ext4_mb_mark_bb() to prevent against possible corrup...Ritesh Harjani1-0/+8
2022-02-25ext4: add strict range checks while freeing blocksRitesh Harjani1-13/+3
2022-02-25ext4: no need to test for block bitmap bits in ext4_mb_mark_bb()Ritesh Harjani1-1/+1
2022-02-25ext4: rename ext4_set_bits to mb_set_bitsRitesh Harjani1-7/+7
2022-02-25ext4: refactor ext4_free_blocks() to pull out ext4_mb_clear_bb()Ritesh Harjani1-78/+102
2022-02-25ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commitRitesh Harjani1-55/+76
2022-02-25ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bbRitesh Harjani1-7/+12
2022-02-06Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-9/+17
2022-02-03ext4: modify the logic of ext4_mb_new_blocks_simpleXin Yin1-9/+17
2022-01-22proc: remove PDE_DATA() completelyMuchun Song1-7/+7
2022-01-10ext4: change s_last_trim_minblks type to unsigned longLukas Czerner1-2/+2
2022-01-10ext4: avoid trim error on fs with small groupsJan Kara1-0/+8
2022-01-10ext4: fix a possible ABBA deadlock due to busy PAChunguang Xu1-22/+18
2021-11-04ext4: scope ret locally in ext4_try_to_trim_range()Lukas Bulwahn1-3/+2
2021-08-30ext4: Support for checksumming from journal triggersJan Kara1-6/+9
2021-08-30ext4: fix sparse warningsTheodore Ts'o1-4/+22
2021-08-30ext4: flush background discard kwork when retry allocationWang Jianchao1-2/+5
2021-08-30ext4: get discard out of jbd2 commit kthread contexWang Jianchao1-25/+76
2021-08-12ext4: remove the repeated comment of ext4_trim_all_freeWang Jianchao1-6/+1
2021-08-12ext4: add new helper interface ext4_try_to_trim_range()Wang Jianchao1-45/+57
2021-08-12ext4: remove the 'group' parameter of ext4_trim_extentWang Jianchao1-5/+4
2021-07-01ext4: use ext4_grp_locked_error in mb_find_extentStephen Brennan1-4/+5
2021-05-20ext4: fix memory leak in ext4_mb_init_backend on error path.Phillip Potter1-1/+1
2021-04-09ext4: fix trailing whitespaceJack Qiu1-1/+1
2021-04-09ext4: add proc files to monitor new structuresHarshad Shirwadkar1-0/+86
2021-04-09ext4: improve cr 0 / cr 1 group scanningHarshad Shirwadkar1-11/+388
2021-04-09ext4: add MB_NUM_ORDERS macroHarshad Shirwadkar1-9/+10
2021-04-09ext4: add mballoc stats proc fileHarshad Shirwadkar1-2/+73
2021-04-09ext4: drop s_mb_bal_lock and convert protected fields to atomicHarshad Shirwadkar1-8/+5
2021-03-06fs/ext4: fix integer overflow in s_log_groups_per_flexSabyrzhan Tasbolatov1-2/+9
2020-12-22ext4: avoid s_mb_prefetch to be zero in individual scenariosChunguang Xu1-4/+5
2020-12-17ext4: fix a memory leak of ext4_free_dataChunguang Xu1-0/+1
2020-12-03ext4: simplify the code of mb_find_order_for_blockChunguang Xu1-7/+3
2020-12-03ext4: remove redundant mb_regenerate_buddy()Chunguang Xu1-19/+0
2020-11-06ext4: make s_mount_flags modifications atomicHarshad Shirwadkar1-2/+2
2020-11-06ext4: silence an uninitialized variable warningDan Carpenter1-1/+1
2020-10-21ext4: fast commit recovery pathHarshad Shirwadkar1-8/+198
2020-10-18ext4: make mb_check_counter per groupChunguang Xu1-5/+2
2020-10-18ext4: delete invalid comments near mb_buddy_adjust_borderChunguang Xu1-3/+0
2020-10-18ext4: delete duplicated words + other fixesRandy Dunlap1-2/+2
2020-10-18ext4: discard preallocations before releasing group lockJan Kara1-20/+13
2020-10-18ext4: fix dead loop in ext4_mb_new_blocksYe Bin1-1/+3
2020-08-19ext4: limit the length of per-inode prealloc listbrookxu1-8/+66
2020-08-19ext4: reorganize if statement of ext4_mb_release_context()brookxu1-17/+16
2020-08-19ext4: add mb_debug logging when there are lost chunksbrookxu1-3/+6
2020-08-18mballoc: replace seq_printf with seq_putsXu Wang1-1/+1
2020-08-18ext4: optimize the implementation of ext4_mb_good_group()brookxu1-7/+7
2020-08-18ext4: delete invalid comments near ext4_mb_check_limits()brookxu1-4/+0
2020-08-18ext4: fix typos in ext4_mb_regular_allocator() commentbrookxu1-2/+2
2020-08-07ext4: check journal inode extents more carefullyJan Kara1-2/+2
2020-08-07ext4: delete the invalid BUGON in ext4_mb_load_buddy_gfp()brookxu1-3/+0
2020-08-07ext4: add prefetch_block_bitmaps mount optionTheodore Ts'o1-6/+4
2020-08-06ext4: skip non-loaded groups at cr=0/1 when scanning for good groupsAlex Zhuravlev1-1/+20
2020-08-06ext4: add prefetching for block allocation bitmapsAlex Zhuravlev1-2/+131
2020-08-06ext4: fix spelling typos in ext4_mb_initialize_contextbrookxu1-1/+1
2020-06-11ext4: mballoc: Use this_cpu_read instead of this_cpu_ptrRitesh Harjani1-1/+1
2020-06-03ext4: mballoc: use lock for checking free blocks while retryingRitesh Harjani1-1/+12
2020-06-03ext4: mballoc: refactor ext4_mb_good_group()Ritesh Harjani1-28/+50
2020-06-03ext4: mballoc: introduce pcpu seqcnt for freeing PA to improve ENOSPC handlingRitesh Harjani1-5/+51
2020-06-03ext4: mballoc: refactor ext4_mb_discard_preallocations()Ritesh Harjani1-3/+12