aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/transaction.c
AgeCommit message (Expand)AuthorFilesLines
8 daysbtrfs: simplify how first hit is passed to __btrfs_abort_transaction()David Sterba1-1/+12
8 daysbtrfs: tracepoints: trace transaction states during commit phaseFilipe Manana1-2/+6
8 daysbtrfs: tracepoints: add trace event for the start of a new transactionFilipe Manana1-0/+1
8 daysbtrfs: tracepoints: add trace event for transaction abortsFilipe Manana1-0/+1
8 daysbtrfs: tracepoints: pass a transaction handle to transaction commit eventFilipe Manana1-2/+2
8 daysbtrfs: move transaction abort message to __btrfs_abort_transaction()David Sterba1-2/+6
2026-05-08btrfs: only release the dirty pages io tree after successful writesQu Wenruo1-5/+4
2026-04-07btrfs: remove duplicate journal_info reset on failure to commit transactionFilipe Manana1-2/+0
2026-04-07btrfs: tag as unlikely if statements that check for fs in error stateFilipe Manana1-5/+5
2026-04-07btrfs: prefer IS_ERR_OR_NULL() over manual NULL checkPhilipp Hahn1-1/+1
2026-04-07btrfs: inhibit extent buffer writeback to prevent COW amplificationLeo Martins1-0/+19
2026-04-07btrfs: stop checking for -EEXIST return value from btrfs_uuid_tree_add()Filipe Manana1-1/+1
2026-04-07btrfs: avoid unnecessary root node COW during snapshottingFilipe Manana1-15/+5
2026-04-07btrfs: pass literal booleans to functions that take boolean argumentsFilipe Manana1-5/+5
2026-04-07btrfs: remove pointless out label in qgroup_account_snapshot()Filipe Manana1-9/+8
2026-04-07btrfs: zoned: cap delayed refs metadata reservation to avoid overcommitJohannes Thumshirn1-0/+8
2026-04-07btrfs: remove max_mirrors argument from write_all_supers()Filipe Manana1-1/+1
2026-04-07btrfs: pass transaction handle to write_all_supers()Filipe Manana1-1/+1
2026-03-12Merge tag 'for-7.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-0/+16
2026-03-03btrfs: fix transaction abort when snapshotting received subvolumesFilipe Manana1-0/+16
2026-02-21treewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook1-1/+1
2026-02-18btrfs: use the correct type to initialize block reserve for delayed refsFilipe Manana1-1/+1
2026-02-03btrfs: fix block_group_tree dirty_list corruptionBoris Burkov1-7/+0
2026-02-03btrfs: remove out label in btrfs_wait_for_commit()Filipe Manana1-4/+5
2026-02-03btrfs: allow mounting filesystems with remap-tree incompat flagMark Harmstone1-0/+7
2026-02-03btrfs: tag as unlikely error conditions in the transaction commit pathFilipe Manana1-22/+22
2026-02-03btrfs: don't call btrfs_handle_fs_error() in btrfs_commit_transaction()Filipe Manana1-3/+2
2026-02-03btrfs: don't call btrfs_handle_fs_error() in qgroup_account_snapshot()Filipe Manana1-3/+3
2025-12-16btrfs: fix deadlock in wait_current_trans() due to ignored transaction typeRobbie Ko1-5/+6
2025-11-24btrfs: make a few more ASSERTs verboseDavid Sterba1-12/+29
2025-11-24btrfs: headers cleanup to remove unnecessary local includesQu Wenruo1-0/+2
2025-11-24btrfs: remove redundant refcount check in btrfs_put_transaction()Xuanqiang Luo1-1/+0
2025-11-24btrfs: remove fs_info argument from btrfs_reserve_metadata_bytes()Filipe Manana1-2/+2
2025-09-23btrfs: use smp_mb__after_atomic() when forcing COW in create_pending_snapshot()Filipe Manana1-1/+1
2025-09-23btrfs: add unlikely annotations to branches leading to transaction abortDavid Sterba1-14/+14
2025-09-23btrfs: more trivial BTRFS_PATH_AUTO_FREE conversionsSun YangKai1-2/+1
2025-09-23btrfs: remove pointless key offset setup in create_pending_snapshot()Filipe Manana1-4/+2
2025-09-23btrfs: fix typos in comments and stringsDavid Sterba1-2/+2
2025-09-22btrfs: convert several int parameters to boolDavid Sterba1-3/+3
2025-07-22btrfs: qgroup: fix qgroup create ioctl returning success after quotas disabledFilipe Manana1-2/+4
2025-07-21btrfs: tree-log: add and rename extent bits for dirty_log_pages treeDavid Sterba1-2/+2
2025-07-21btrfs: rename err to ret in btrfs_wait_tree_log_extents()David Sterba1-5/+5
2025-07-21btrfs: rename err to ret in btrfs_wait_extents()David Sterba1-5/+5
2025-07-21btrfs: sysfs: track current commit duration in commit_statsBoris Burkov1-9/+9
2025-05-15btrfs: simplify cow only root list extraction during transaction commitFilipe Manana1-6/+5
2025-05-15btrfs: simplify getting and extracting previous transaction during commitFilipe Manana1-3/+2
2025-05-15btrfs: add space_info argument to btrfs_chunk_alloc()Naohiro Aota1-2/+3
2025-05-15btrfs: don't BUG_ON() when unpinning extents during transaction commitFilipe Manana1-1/+3
2025-05-15btrfs: use buffer xarray for extent buffer writeback operationsJosef Bacik1-3/+2
2025-05-15btrfs: trivial conversion to return bool instead of intDavid Sterba1-4/+4
2025-05-15btrfs: rename remaining exported functions from extent-io-tree.hFilipe Manana1-3/+3
2025-05-15btrfs: rename free_extent_state() to include a btrfs prefixFilipe Manana1-2/+2
2025-05-15btrfs: rename the functions to init and release an extent io treeFilipe Manana1-6/+6
2025-05-15btrfs: rename the functions to search for bits in extent rangesFilipe Manana1-4/+4
2025-05-15btrfs: rename the functions to clear bits for an extent rangeFilipe Manana1-2/+2
2025-03-18btrfs: explicitly ref count block_group on new_bgs listBoris Burkov1-0/+1
2025-03-18btrfs: harden block_group::bg_list against list_del() racesBoris Burkov1-0/+12
2025-03-18btrfs: use struct btrfs_inode inside create_pending_snapshot()David Sterba1-12/+12
2025-03-18btrfs: unify ordering of btrfs_key initializationsDavid Sterba1-1/+1
2025-01-23btrfs: fix use-after-free when attempting to join an aborted transactionFilipe Manana1-1/+3
2025-01-13btrfs: drop fs_info argument from btrfs_update_space_info_*()Naohiro Aota1-2/+1
2024-11-11btrfs: track delayed ref heads in an xarrayFilipe Manana1-3/+2
2024-11-11btrfs: remove num_entries atomic counter from delayed ref rootFilipe Manana1-1/+0
2024-11-11btrfs: remove fs_info parameter from btrfs_cleanup_one_transaction()Filipe Manana1-1/+1
2024-09-10btrfs: qgroup: use xarray to track dirty extents in transactionJunchao Sun1-3/+2
2024-07-11btrfs: fix data race when accessing the last_trans field of a rootFilipe Manana1-4/+4
2024-07-11btrfs: switch btrfs_pending_snapshot::dir to btrfs_inodeDavid Sterba1-1/+1
2024-07-11btrfs: add and use helper to commit the current transactionFilipe Manana1-0/+19
2024-07-11btrfs: simplify range parameters of btrfs_wait_ordered_roots()David Sterba1-1/+1
2024-05-07btrfs: rename werr and err to ret in __btrfs_wait_marked_extents()Anand Jain1-13/+8
2024-05-07btrfs: rename werr and err to ret in btrfs_write_marked_extents()Anand Jain1-13/+10
2024-05-07btrfs: report filemap_fdata<write|wait>_range() errorAnand Jain1-0/+4
2024-05-07btrfs: change root->root_key.objectid to btrfs_root_id()Josef Bacik1-11/+11
2024-05-07btrfs: rename err to ret in __btrfs_end_transaction()Anand Jain1-4/+4
2024-05-07btrfs: remove pointless BUG_ON() when creating snapshotFilipe Manana1-2/+0
2024-04-02btrfs: always clear PERTRANS metadata during commitBoris Burkov1-1/+1
2024-04-02btrfs: qgroup: convert PREALLOC to PERTRANS after record_root_in_transBoris Burkov1-9/+8
2024-03-05btrfs: remove SLAB_MEM_SPREAD flag useChengming Zhou1-2/+1
2024-03-04btrfs: use KMEM_CACHE() to create btrfs_trans_handle cacheKunwu Chan1-3/+2
2024-03-04btrfs: remove no longer used btrfs_transaction_in_commit()Filipe Manana1-13/+0
2024-03-04btrfs: remove unused included headersDavid Sterba1-2/+0
2024-02-29btrfs: fix double free of anonymous device after snapshot creation failureFilipe Manana1-1/+1
2024-02-13btrfs: don't refill whole delayed refs block reserve when starting transactionFilipe Manana1-36/+2
2023-12-14Merge tag 'for-6.7-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-2/+0
2023-12-06btrfs: free qgroup pertrans reserve on transaction abortBoris Burkov1-2/+0
2023-11-28Merge tag 'for-6.7-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+1
2023-11-15btrfs: do not abort transaction if there is already an existing qgroupQu Wenruo1-1/+1
2023-10-30Merge tag 'for-6.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-89/+140
2023-10-18btrfs: convert to new timestamp accessorsJeff Layton1-1/+2
2023-10-12btrfs: add and use helpers for reading and writing last_trans_committedFilipe Manana1-3/+3
2023-10-12btrfs: add and use helpers for reading and writing fs_info->generationFilipe Manana1-1/+1
2023-10-12btrfs: stop reserving excessive space for block group item insertionsFilipe Manana1-1/+1
2023-10-12btrfs: move btrfs_defrag_root() to defrag.{c,h}Filipe Manana1-39/+0
2023-10-12btrfs: remove redundant root argument from btrfs_update_inode_fallback()Filipe Manana1-1/+1
2023-10-12btrfs: qgroup: simple quota auto hierarchy for nested subvolumesBoris Burkov1-5/+9
2023-10-12btrfs: create qgroup earlier in snapshot creationBoris Burkov1-0/+6
2023-10-12btrfs: qgroup: add new quota mode for simple quotasBoris Burkov1-4/+3
2023-10-12btrfs: rename errno identifiers to errorDavid Sterba1-5/+5
2023-10-12btrfs: always reserve space for delayed refs when starting transactionFilipe Manana1-27/+107
2023-10-12btrfs: stop doing excessive space reservation for csum deletionFilipe Manana1-1/+1
2023-10-12btrfs: allow to run delayed refs by bytes to be released instead of countFilipe Manana1-4/+4
2023-10-12btrfs: pass a space_info argument to btrfs_reserve_metadata_bytes()Filipe Manana1-1/+2
2023-10-12btrfs: reformat remaining kdoc style commentsDavid Sterba1-2/+2
2023-09-26Merge tag 'for-6.6-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-3/+3
2023-09-20btrfs: prevent transaction block reserve underflow when starting transactionFilipe Manana1-3/+3
2023-09-12Merge tag 'for-6.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-15/+24
2023-09-08btrfs: do not block starts waiting on previous transaction commitJosef Bacik1-15/+24
2023-08-28Merge tag 'for-6.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-11/+28
2023-08-28Merge tag 'v6.6-vfs.ctime' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-2/+1
2023-08-21btrfs: update comment for btrfs_join_transaction_nostart()Filipe Manana1-1/+4
2023-08-21btrfs: don't start transaction when joining with TRANS_JOIN_NOSTARTFilipe Manana1-3/+4
2023-08-21btrfs: fix start transaction qgroup rsv double freeBoris Burkov1-3/+16
2023-08-21btrfs: make find_first_extent_bit() return a booleanFilipe Manana1-4/+4
2023-07-26btrfs: check for commit error at btrfs_attach_transaction_barrier()Filipe Manana1-2/+7
2023-07-24btrfs: check if the transaction was aborted at btrfs_wait_for_commit()Filipe Manana1-0/+1
2023-07-13btrfs: convert to ctime accessor functionsJeff Layton1-2/+1
2023-06-19btrfs: do not BUG_ON on failure to get dir index for new snapshotFilipe Manana1-1/+4
2023-06-19btrfs: don't hold an extra reference for redirtied buffersChristoph Hellwig1-9/+0
2023-06-19btrfs: determine synchronous writers from bio or writeback controlChristoph Hellwig1-2/+0
2023-04-17btrfs: correctly calculate delayed ref bytes when starting transactionFilipe Manana1-5/+6
2023-04-17btrfs: make btrfs_block_rsv_full() check more boolean when starting transactionFilipe Manana1-1/+1
2023-04-17btrfs: collapse should_end_transaction() into btrfs_should_end_transaction()Filipe Manana1-11/+4
2023-03-28btrfs: fix deadlock when aborting transaction during relocation with scrubFilipe Manana1-1/+14
2023-02-13btrfs: sysfs: update fs features directory asynchronouslyQu Wenruo1-0/+5
2023-02-13btrfs: move btrfs_abort_transaction to transaction.cJosef Bacik1-0/+29
2022-12-05btrfs: drop private_data parameter from extent_io_tree_initDavid Sterba1-2/+2
2022-12-05btrfs: simplify percent calculation helpers, rename div_factorDavid Sterba1-1/+1
2022-12-05btrfs: move scrub prototypes into scrub.hJosef Bacik1-0/+1
2022-12-05btrfs: move relocation prototypes into relocation.hJosef Bacik1-0/+1
2022-12-05btrfs: move ioctl prototypes into ioctl.hJosef Bacik1-0/+1
2022-12-05btrfs: move uuid tree prototypes to uuid-tree.hJosef Bacik1-0/+1
2022-12-05btrfs: move dir-item prototypes into dir-item.hJosef Bacik1-0/+1
2022-12-05btrfs: move defrag related prototypes to their own headerJosef Bacik1-0/+1
2022-12-05btrfs: move root tree prototypes to their own headerJosef Bacik1-0/+1
2022-12-05btrfs: move extent-tree helpers into their own header fileJosef Bacik1-0/+1
2022-12-05btrfs: use struct fscrypt_str instead of struct qstrSweet Tea Dorminy1-7/+6
2022-12-05btrfs: setup qstr from dentrys using fscrypt helperSweet Tea Dorminy1-12/+28
2022-12-05btrfs: use struct qstr instead of name and namelen pairsSweet Tea Dorminy1-6/+5
2022-12-05btrfs: move accessor helpers into accessors.hJosef Bacik1-0/+1
2022-12-05btrfs: remove fs_info::pending_changes and related codeJosef Bacik1-25/+0
2022-12-05btrfs: add a BTRFS_FS_NEED_TRANS_COMMIT flagJosef Bacik1-0/+2
2022-12-05btrfs: move fs wide helpers out of ctree.hJosef Bacik1-0/+1
2022-12-05btrfs: move trans_handle_cachep out of ctree.hJosef Bacik1-0/+17
2022-09-26btrfs: don't init io tree with private data for non-inodesJosef Bacik1-1/+1
2022-09-26btrfs: replace delete argument with EXTENT_CLEAR_ALL_BITSJosef Bacik1-1/+1
2022-09-26btrfs: remove the wake argument from clear_extent_bitsJosef Bacik1-1/+1
2022-09-26btrfs: add KCSAN annotations for unlocked access to block_rsv->fullDavid Sterba1-2/+2
2022-09-26btrfs: don't save block group root into super blockQu Wenruo1-8/+0
2022-09-26btrfs: get rid of block group caching progress logicOmar Sandoval1-41/+0
2022-09-26btrfs: add lockdep annotations for pending_ordered wait eventIoannis Angelakopoulos1-0/+1
2022-09-26btrfs: add lockdep annotations for transaction states wait eventsIoannis Angelakopoulos1-10/+43
2022-09-26btrfs: add lockdep annotations for num_extwriters wait eventIoannis Angelakopoulos1-0/+13
2022-09-26btrfs: add lockdep annotations for num_writers wait eventIoannis Angelakopoulos1-5/+33
2022-07-25btrfs: clean up chained assignmentsDavid Sterba1-2/+2
2022-07-25btrfs: collect commit stats, count, durationIoannis Angelakopoulos1-0/+22
2022-07-15Revert "btrfs: turn fs_roots_radix in btrfs_fs_info into an XArray"David Sterba1-45/+59
2022-05-16btrfs: turn fs_roots_radix in btrfs_fs_info into an XArrayGabriel Niebler1-59/+45
2022-05-16btrfs: use a read/write lock for protecting the block groups treeFilipe Manana1-2/+2
2022-03-14btrfs: pass btrfs_fs_info for deleting snapshots and cleanerJosef Bacik1-2/+2
2022-03-14btrfs: add support for multiple global rootsJosef Bacik1-0/+15
2022-03-02btrfs: fix relocation crash due to premature return from btrfs_commit_transac...Omar Sandoval1-1/+31
2022-03-02btrfs: do not start relocation until in progress drops are doneJosef Bacik1-1/+32
2022-02-09btrfs: get rid of warning on transaction commit when using flushoncommitFilipe Manana1-2/+10
2022-01-31btrfs: fix use-after-free after failure to create a snapshotFilipe Manana1-0/+24
2022-01-07btrfs: make send work with concurrent block group relocationFilipe Manana1-0/+4
2022-01-03btrfs: remove useless WARN_ON in record_root_in_transJosef Bacik1-1/+0
2022-01-03btrfs: stop accessing ->extent_root directlyJosef Bacik1-1/+1
2022-01-03btrfs: do not special case the extent root for switch commit rootsJosef Bacik1-6/+2
2022-01-03btrfs: remove trans_handle->rootJosef Bacik1-1/+0
2022-01-03btrfs: pass fs_info to trace_btrfs_transaction_commitJosef Bacik1-2/+2
2022-01-03btrfs: rework async transaction committingJosef Bacik1-53/+11
2022-01-03btrfs: change root to fs_info for btrfs_reserve_metadata_bytesJosef Bacik1-2/+2
2022-01-03btrfs: reduce the scope of the tree log mutex during transaction commitFilipe Manana1-34/+42
2021-10-26btrfs: add a BTRFS_FS_ERROR helperJosef Bacik1-6/+5
2021-07-07btrfs: rework chunk allocation to avoid exhaustion of the system chunk arrayFilipe Manana1-5/+5
2021-07-07btrfs: fix deadlock with concurrent chunk allocations involving system chunksFilipe Manana1-5/+0
2021-06-22btrfs: send: fix crash when memory allocations trigger reclaimFilipe Manana1-3/+0
2021-06-22btrfs: fix unbalanced unlock in qgroup_account_snapshot()Naohiro Aota1-1/+1
2021-06-21btrfs: inline wait_current_trans_commit_start in its callerDavid Sterba1-13/+7
2021-06-21btrfs: sink wait_for_unblock parameter to async commitDavid Sterba1-22/+2
2021-06-21btrfs: clear defrag status of a root if starting transaction failsDavid Sterba1-2/+4
2021-06-21btrfs: always abort the transaction if we abort a trans handleJosef Bacik1-8/+0
2021-04-19btrfs: fix race between transaction aborts and fsyncs leading to use-after-freeFilipe Manana1-1/+11
2021-04-19btrfs: handle btrfs_update_reloc_root failure in commit_fs_rootsJosef Bacik1-1/+3
2021-04-19btrfs: return an error from btrfs_record_root_in_transJosef Bacik1-2/+3
2021-04-19btrfs: handle record_root_in_trans failure in create_pending_snapshotJosef Bacik1-3/+8
2021-04-19btrfs: handle record_root_in_trans failure in btrfs_record_root_in_transJosef Bacik1-2/+3
2021-04-19btrfs: handle record_root_in_trans failure in qgroup_account_snapshotJosef Bacik1-2/+4
2021-04-19btrfs: handle btrfs_record_root_in_trans failure in start_transactionJosef Bacik1-1/+10
2021-04-19btrfs: fix exhaustion of the system chunk array due to concurrent allocationsFilipe Manana1-0/+5
2021-02-09btrfs: zoned: redirty released extent buffersNaohiro Aota1-0/+10
2021-02-08btrfs: make concurrent fsyncs wait less when waiting for a transaction commitFilipe Manana1-8/+31
2021-02-08btrfs: run delayed refs less often in commit_cowonly_rootsJosef Bacik1-11/+12
2021-02-08btrfs: stop running all delayed refs during snapshotJosef Bacik1-6/+0
2021-02-08btrfs: move delayed ref flushing for qgroup into qgroup helperJosef Bacik1-6/+17
2021-02-08btrfs: only run delayed refs once before committingJosef Bacik1-6/+0
2021-02-08btrfs: only let one thread pre-flush delayed refs in commitJosef Bacik1-17/+15
2021-02-08btrfs: rename btrfs_find_free_objectid to btrfs_get_free_objectidNikolay Borisov1-1/+1
2021-02-08btrfs: fix error handling in commit_fs_rootsJosef Bacik1-5/+6
2021-01-12btrfs: no need to run delayed refs after commit_fs_roots during commitDavid Sterba1-8/+0