aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/space-info.c
AgeCommit message (Expand)AuthorFilesLines
2026-06-09btrfs: zoned: fix deadlock waiting for ticket during data relocationJohannes Thumshirn1-0/+2
2026-06-09btrfs: zoned: document RECLAIM_ZONES flush stateJohannes Thumshirn1-0/+7
2026-04-07btrfs: fix double free in create_space_info() error pathGuangshuo Li1-1/+1
2026-04-07btrfs: fix double free in create_space_info_sub_group() error pathGuangshuo Li1-3/+1
2026-04-07btrfs: zoned: limit number of zones reclaimed in flush_space()Johannes Thumshirn1-2/+4
2026-04-07btrfs: constify arguments of some functionsFilipe Manana1-3/+3
2026-04-07btrfs: zoned: add zone reclaim flush state for DATA space_infoJohannes Thumshirn1-0/+22
2026-04-07btrfs: be less aggressive with metadata overcommit when we can do full flushingFilipe Manana1-3/+3
2026-04-07btrfs: use per-profile available space in calc_available_free_space()Qu Wenruo1-12/+15
2026-03-12Merge tag 'for-7.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+4
2026-03-03btrfs: hold space_info->lock when clearing periodic reclaim readySun YangKai1-1/+4
2026-02-21treewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook1-2/+2
2026-02-03btrfs: remove out label in btrfs_init_space_info()Filipe Manana1-7/+6
2026-02-03btrfs: fix periodic reclaim conditionSun YangKai1-9/+12
2026-02-03btrfs: handle setting up relocation of block group with remap-treeMark Harmstone1-2/+7
2026-02-03btrfs: add METADATA_REMAP chunk typeMark Harmstone1-1/+12
2026-02-03btrfs: add and use helper to compute the available space for a block groupFilipe Manana1-2/+1
2026-02-03btrfs: move space_info_flag_to_str() to space-info.hJohannes Thumshirn1-17/+1
2026-01-12btrfs: fix memory leaks in create_space_info() error pathsJiasheng Jiang1-2/+6
2025-11-24btrfs: make a few more ASSERTs verboseDavid Sterba1-12/+18
2025-11-24btrfs: move struct reserve_ticket definition to space-info.cFilipe Manana1-0/+9
2025-11-24btrfs: headers cleanup to remove unnecessary local includesQu Wenruo1-0/+1
2025-11-24btrfs: annotate as unlikely fs aborted checks in space flushing codeFilipe Manana1-19/+18
2025-11-24btrfs: avoid space_info locking when checking if tickets are servedFilipe Manana1-26/+41
2025-11-24btrfs: move ticket wakeup and finalization to remove_ticket()Filipe Manana1-22/+18
2025-11-24btrfs: add data_race() in btrfs_account_ro_block_groups_free_space()Filipe Manana1-1/+1
2025-11-24btrfs: remove double underscore prefix from __reserve_bytes()Filipe Manana1-5/+5
2025-11-24btrfs: process ticket outside global reserve critical sectionFilipe Manana1-3/+4
2025-11-24btrfs: assign booleans to global reserve's full fieldFilipe Manana1-2/+2
2025-11-24btrfs: assert space_info is locked in steal_from_global_rsv()Filipe Manana1-0/+2
2025-11-24btrfs: avoid unnecessary reclaim calculation in priority_reclaim_metadata_spa...Filipe Manana1-1/+2
2025-11-24btrfs: shorten critical section in btrfs_preempt_reclaim_metadata_space()Filipe Manana1-6/+7
2025-11-24btrfs: increment loop count outside critical section during metadata reclaimFilipe Manana1-2/+2
2025-11-24btrfs: bail out earlier from need_preemptive_reclaim() if we have ticketsFilipe Manana1-9/+9
2025-11-24btrfs: inline btrfs_space_info_used()Filipe Manana1-10/+0
2025-11-24btrfs: avoid used space computation when reserving spaceFilipe Manana1-2/+2
2025-11-24btrfs: avoid used space computation when trying to grant ticketsFilipe Manana1-4/+22
2025-11-24btrfs: make btrfs_can_overcommit() return bool instead of intFilipe Manana1-6/+4
2025-11-24btrfs: avoid recomputing used space in btrfs_try_granting_tickets()Filipe Manana1-2/+5
2025-11-24btrfs: return real error when failing tickets in maybe_fail_all_tickets()Filipe Manana1-6/+6
2025-11-24btrfs: remove fs_info argument from btrfs_sysfs_add_space_info_type()Filipe Manana1-2/+2
2025-11-24btrfs: remove fs_info argument from btrfs_reserve_metadata_bytes()Filipe Manana1-3/+3
2025-11-24btrfs: remove fs_info argument from __reserve_bytes()Filipe Manana1-5/+4
2025-11-24btrfs: fix parameter documentation for btrfs_reserve_data_bytes()Filipe Manana1-1/+1
2025-11-24btrfs: remove fs_info argument from maybe_clamp_preempt()Filipe Manana1-3/+3
2025-11-24btrfs: remove fs_info argument from handle_reserve_ticket()Filipe Manana1-7/+4
2025-11-24btrfs: remove fs_info argument from steal_from_global_rsv()Filipe Manana1-4/+4
2025-11-24btrfs: remove fs_info argument from need_preemptive_reclaim()Filipe Manana1-4/+4
2025-11-24btrfs: remove fs_info argument from btrfs_calc_reclaim_metadata_size()Filipe Manana1-6/+4
2025-11-24btrfs: remove fs_info argument from shrink_delalloc() and flush_space()Filipe Manana1-15/+12
2025-11-24btrfs: remove fs_info argument from btrfs_dump_space_info()Filipe Manana1-9/+9
2025-11-24btrfs: remove fs_info argument from btrfs_can_overcommit()Filipe Manana1-6/+3
2025-11-24btrfs: remove fs_info argument from calc_available_free_space()Filipe Manana1-8/+6
2025-11-24btrfs: remove fs_info argument from maybe_fail_all_tickets()Filipe Manana1-6/+5
2025-11-24btrfs: remove fs_info argument from priority_reclaim_metadata_space()Filipe Manana1-7/+7
2025-11-24btrfs: remove fs_info argument from priority_reclaim_data_space()Filipe Manana1-3/+4
2025-11-24btrfs: remove fs_info argument from btrfs_try_granting_tickets()Filipe Manana1-7/+7
2025-11-24btrfs: fix racy bitfield write in btrfs_clear_space_info_full()Boris Burkov1-11/+11
2025-09-30Merge tag 'for-6.18-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-2/+2
2025-09-23btrfs: fix typos in comments and stringsDavid Sterba1-2/+2
2025-09-19fs: replace use of system_unbound_wq with system_dfl_wqMarco Crivellari1-2/+2
2025-07-21btrfs: change dump_block_groups() in btrfs_dump_space_info() from int to boolJohannes Thumshirn1-3/+3
2025-07-21btrfs: rename err to ret in calc_pct_ratio()David Sterba1-3/+3
2025-07-21btrfs: make btrfs_should_periodic_reclaim() staticJohannes Thumshirn1-1/+1
2025-05-15btrfs: add support for reclaiming from sub-space space_infoNaohiro Aota1-0/+7
2025-05-15btrfs: tweak extent/chunk allocation for space_info sub-spaceNaohiro Aota1-17/+15
2025-05-15btrfs: introduce tree-log sub-space_infoNaohiro Aota1-0/+5
2025-05-15btrfs: introduce btrfs_space_info sub-groupNaohiro Aota1-3/+41
2025-05-15btrfs: add space_info argument to btrfs_chunk_alloc()Naohiro Aota1-1/+1
2025-05-15btrfs: factor out do_async_reclaim_{data,metadata}_space()Naohiro Aota1-16/+29
2025-05-15btrfs: factor out init_space_info() from create_space_info()Naohiro Aota1-11/+16
2025-05-15btrfs: pass btrfs_space_info to btrfs_reserve_data_bytes()Naohiro Aota1-5/+5
2025-05-15btrfs: fix typo in space info explanationMark Harmstone1-2/+2
2025-03-18btrfs: update include and forward declarations in headersDavid Sterba1-1/+1
2025-01-13btrfs: zoned: reclaim unused zone by zone resettingNaohiro Aota1-2/+26
2025-01-13btrfs: drop fs_info argument from btrfs_update_space_info_*()Naohiro Aota1-9/+5
2025-01-13btrfs: factor out btrfs_return_free_space()Naohiro Aota1-0/+29
2024-11-11btrfs: drop unused parameter fs_info from do_reclaim_sweep()David Sterba1-3/+2
2024-11-11btrfs: drop unused parameter fs_info from wait_reserve_ticket()David Sterba1-3/+2
2024-11-11btrfs: correct typos in multiple comments across various filesShen Lichuan1-1/+1
2024-09-10btrfs: constify more pointer parametersDavid Sterba1-13/+12
2024-08-27btrfs: fix uninitialized return value from btrfs_reclaim_sweep()Filipe Manana1-12/+5
2024-07-29btrfs: zoned: fix zone_unusable accounting on making block group read-write a...Naohiro Aota1-1/+1
2024-07-29btrfs: do not subtract delalloc from avail bytesNaohiro Aota1-2/+1
2024-07-11btrfs: urgent periodic reclaim passBoris Burkov1-1/+34
2024-07-11btrfs: prevent pathological periodic reclaim loopsBoris Burkov1-8/+48
2024-07-11btrfs: periodic block_group reclaimBoris Burkov1-0/+51
2024-07-11btrfs: dynamic block_group reclaim thresholdBoris Burkov1-18/+109
2024-07-11btrfs: store fs_info in space_infoBoris Burkov1-0/+1
2024-07-11btrfs: add and use helper to commit the current transactionFilipe Manana1-8/+1
2024-07-11btrfs: simplify range parameters of btrfs_wait_ordered_roots()David Sterba1-1/+1
2024-07-11btrfs: remove unused define EXTENT_SIZE_PER_ITEMDavid Sterba1-2/+0
2024-07-02btrfs: zoned: fix calc_available_free_space() for zoned modeNaohiro Aota1-3/+21
2024-03-04btrfs: remove unused included headersDavid Sterba1-1/+0
2024-02-22btrfs: fix data races when accessing the reserved amount of block reservesFilipe Manana1-13/+13
2023-10-12btrfs: adjust overcommit logic when very close to fullJosef Bacik1-0/+32
2023-10-12btrfs: allow to run delayed refs by bytes to be released instead of countFilipe Manana1-15/+2
2023-10-12btrfs: pass a space_info argument to btrfs_reserve_metadata_bytes()Filipe Manana1-7/+5
2023-10-12btrfs: reformat remaining kdoc style commentsDavid Sterba1-1/+2
2023-08-21btrfs: zoned: re-enable metadata over-commit for zoned modeNaohiro Aota1-5/+1
2023-08-21btrfs: zoned: don't activate non-DATA BG on allocationNaohiro Aota1-28/+0
2023-08-21btrfs: avoid starting and committing empty transaction when flushing spaceFilipe Manana1-1/+10
2023-08-21btrfs: avoid starting new transaction when flushing delayed items and refsFilipe Manana1-2/+6
2023-08-21btrfs: fail priority metadata ticket with real fs errorFilipe Manana1-5/+5
2023-08-21btrfs: don't steal space from global rsv after a transaction abortFilipe Manana1-2/+12
2023-08-21btrfs: print available space across all block groups when dumping space infoFilipe Manana1-0/+4
2023-08-21btrfs: print available space for a block group when dumping a space infoFilipe Manana1-2/+7
2023-08-21btrfs: print block group super and delalloc bytes when dumping space infoFilipe Manana1-4/+5
2023-04-17btrfs: add helper to calculate space for delayed referencesFilipe Manana1-13/+1
2023-04-17btrfs: constify fs_info argument for the reclaim items calculation helpersFilipe Manana1-2/+2
2023-04-17btrfs: accurately calculate number of delayed refs when flushingFilipe Manana1-1/+25
2023-04-17btrfs: initialize ret to -ENOSPC at __reserve_bytes()Filipe Manana1-2/+1
2023-04-17btrfs: update flush method assertion when reserving spaceFilipe Manana1-1/+12
2023-03-15btrfs: zoned: drop space_info->active_total_bytesNaohiro Aota1-31/+9
2023-03-15btrfs: rename BTRFS_FS_NO_OVERCOMMIT to BTRFS_FS_ACTIVE_ZONE_TRACKINGJosef Bacik1-1/+1
2023-01-11btrfs: zoned: enable metadata over-commit for non-ZNS setupNaohiro Aota1-1/+2
2022-12-05btrfs: simplify percent calculation helpers, rename div_factorDavid Sterba1-2/+2
2022-12-05btrfs: update function commentsDavid Sterba1-8/+8
2022-12-05btrfs: move extent-tree helpers into their own header fileJosef Bacik1-0/+1
2022-12-05btrfs: move btrfs_account_ro_block_groups_free_space into space-info.cJosef Bacik1-0/+34
2022-12-05btrfs: move accessor helpers into accessors.hJosef Bacik1-0/+1
2022-12-05btrfs: move fs wide helpers out of ctree.hJosef Bacik1-0/+1
2022-12-05btrfs: introduce BTRFS_RESERVE_FLUSH_EMERGENCYJosef Bacik1-2/+27
2022-09-29btrfs: add the ability to use NO_FLUSH for data reservationsJosef Bacik1-1/+2
2022-09-26btrfs: remove useless used space increment during space reservationFilipe Manana1-1/+0
2022-09-26btrfs: dump all space infos if we abort transaction due to ENOSPCQu Wenruo1-7/+24
2022-09-26btrfs: output human readable space info flagQu Wenruo1-3/+20
2022-09-26btrfs: convert block group bit field to use bit helpersJosef Bacik1-1/+1
2022-09-26btrfs: handle space_info setting of bg in btrfs_add_bg_to_space_infoJosef Bacik1-4/+9
2022-09-26btrfs: simplify arguments of btrfs_update_space_info and renameJosef Bacik1-15/+14
2022-09-06btrfs: fix the max chunk size and stripe length calculationQu Wenruo1-1/+1
2022-07-25btrfs: zoned: activate metadata block group on flush_spaceNaohiro Aota1-0/+30
2022-07-25btrfs: zoned: disable metadata overcommit for zonedNaohiro Aota1-1/+4
2022-07-25btrfs: zoned: introduce space_info->active_total_bytesNaohiro Aota1-9/+32
2022-07-25btrfs: store chunk size in space-info structStefan Roesch1-0/+32
2022-07-25btrfs: fix typos in commentsDavid Sterba1-1/+1
2022-05-16btrfs: make the bg_reclaim_threshold per-space infoJosef Bacik1-0/+9
2022-05-16btrfs: remove unnecessary type castsYu Zhe1-1/+1
2022-03-14btrfs: add lockdep_assert_held to need_preemptive_reclaimNiels Dossche1-0/+2
2022-03-14btrfs: extend locking to all space_info members accessesNiels Dossche1-1/+2
2022-01-07btrfs: fix argument list that the kdoc format and script verifiedYang Li1-1/+1
2022-01-03btrfs: don't use the extent_root in flush_spaceJosef Bacik1-1/+1
2022-01-03btrfs: change root to fs_info for btrfs_reserve_metadata_bytesJosef Bacik1-2/+1
2022-01-03btrfs: remove global rsv stealing logic for orphan cleanupJosef Bacik1-7/+0
2022-01-03btrfs: make BTRFS_RESERVE_FLUSH_EVICT use the global rsv stealing codeJosef Bacik1-3/+13
2022-01-03btrfs: check ticket->steal in steal_from_global_block_rsvJosef Bacik1-2/+4
2022-01-03btrfs: check for priority ticket granting before flushingJosef Bacik1-1/+14
2022-01-03btrfs: handle priority ticket failures in their respective helpersJosef Bacik1-25/+21
2021-10-26btrfs: do not infinite loop in data reclaim if we abortedJosef Bacik1-4/+24
2021-09-17btrfs: prevent __btrfs_dump_space_info() to underflow its free spaceQu Wenruo1-2/+3
2021-08-23btrfs: do not do preemptive flushing if the majority is global rsvJosef Bacik1-0/+14
2021-08-23btrfs: reduce the preemptive flushing threshold to 90%Josef Bacik1-1/+1
2021-08-23btrfs: wait on async extents when flushing delallocJosef Bacik1-0/+40
2021-08-23btrfs: use delalloc_bytes to determine flush amount for shrink_delallocJosef Bacik1-12/+28
2021-08-23btrfs: enable a tracepoint when we fail ticketsJosef Bacik1-0/+2
2021-06-22btrfs: rip out btrfs_space_info::total_bytes_pinnedJosef Bacik1-7/+0
2021-06-22btrfs: rip the first_ticket_bytes logic from fail_all_ticketsJosef Bacik1-16/+0
2021-06-22btrfs: remove FLUSH_DELAYED_REFS from data ENOSPC flushingJosef Bacik1-16/+0
2021-06-22btrfs: rip out may_commit_transactionJosef Bacik1-125/+11
2021-06-22btrfs: fix typos in commentsDavid Sterba1-2/+2
2021-06-21btrfs: handle preemptive delalloc flushing slightly differentlyJosef Bacik1-3/+12
2021-06-21btrfs: only ignore delalloc if delalloc is much smaller than orderedJosef Bacik1-1/+7
2021-06-21btrfs: don't include the global rsv size in the preemptive used amountJosef Bacik1-1/+1
2021-06-21btrfs: use the global rsv size in the preemptive thresh calculationJosef Bacik1-2/+4
2021-06-21btrfs: take into account global rsv in need_preemptive_reclaimJosef Bacik1-1/+3
2021-06-21btrfs: only clamp the first time we have to start flushingJosef Bacik1-8/+9
2021-06-21btrfs: check worker before need_preemptive_reclaimJosef Bacik1-2/+2
2021-04-19btrfs: use percpu_read_positive instead of sum_positive for need_preemptJosef Bacik1-2/+2
2021-02-09btrfs: zoned: track unusable bytes for zonesNaohiro Aota1-5/+8
2021-02-08btrfs: add a trace class for dumping the current ENOSPC stateJosef Bacik1-0/+1
2021-02-08btrfs: adjust the flush trace point to include the sourceJosef Bacik1-8/+9
2021-02-08btrfs: implement space clamping for preemptive flushingJosef Bacik1-2/+51
2021-02-08btrfs: simplify the logic in need_preemptive_flushingJosef Bacik1-25/+48
2021-02-08btrfs: rework btrfs_calc_reclaim_metadata_sizeJosef Bacik1-24/+20
2021-02-08btrfs: check reclaim_size in need_preemptive_reclaimJosef Bacik1-0/+7
2021-02-08btrfs: rename need_do_async_reclaimJosef Bacik1-7/+7
2021-02-08btrfs: improve preemptive background space flushingJosef Bacik1-2/+98
2021-02-08btrfs: introduce a FORCE_COMMIT_TRANS flush operationJosef Bacik1-0/+14
2021-02-08btrfs: track ordered bytes instead of just dio ordered bytesJosef Bacik1-11/+7
2021-02-08btrfs: add a trace point for reserve ticketsJosef Bacik1-1/+11
2021-02-08btrfs: make flush_space take a enum btrfs_flush_state instead of intJosef Bacik1-3/+3
2021-02-08btrfs: fix parameter description in space-info.cNikolay Borisov1-23/+27
2021-02-08btrfs: make btrfs_start_delalloc_root's nr argument a longNikolay Borisov1-1/+2
2021-01-08btrfs: shrink delalloc pages instead of full inodesJosef Bacik1-1/+3
2020-12-18btrfs: fix deadlock when cloning inline extent and low on free metadata spaceFilipe Manana1-1/+1
2020-10-07btrfs: kill the RCU protection for fs_info->space_infoJosef Bacik1-10/+4
2020-10-07btrfs: remove unused function calc_global_rsv_need_space()YueHaibing1-5/+0
2020-10-07btrfs: fix possible infinite loop in data async reclaimJosef Bacik1-0/+6
2020-10-07btrfs: add a comment explaining the data flush stepsJosef Bacik1-0/+47
2020-10-07btrfs: do async reclaim for data reservationsJosef Bacik1-33/+84
2020-10-07btrfs: flush delayed refs when trying to reserve data spaceJosef Bacik1-0/+1
2020-10-07btrfs: run delayed iputs before committing the transaction for dataJosef Bacik1-1/+1
2020-10-07btrfs: don't force commit if we are dataJosef Bacik1-18/+4
2020-10-07btrfs: drop the commit_cycles stuff for data reservationsJosef Bacik1-19/+2
2020-10-07btrfs: use the same helper for data and metadata reservationsJosef Bacik1-33/+13
2020-10-07btrfs: serialize data reservations if we are flushingJosef Bacik1-1/+4
2020-10-07btrfs: use ticketing for data space reservationsJosef Bacik1-58/+64
2020-10-07btrfs: add btrfs_reserve_data_bytes and use itJosef Bacik1-0/+92
2020-10-07btrfs: add the data transaction commit logic into may_commit_transactionJosef Bacik1-7/+24
2020-10-07btrfs: add flushing states for handling data reservationsJosef Bacik1-0/+6