Home
last modified time | relevance | path

Searched full:transaction (Results 1 – 25 of 1385) sorted by relevance

12345678910>>...56

/Linux-v5.10/fs/jbd2/
Dcheckpoint.c26 * Unlink a buffer from a transaction checkpoint list.
32 transaction_t *transaction = jh->b_cp_transaction; in __buffer_unlink_first() local
36 if (transaction->t_checkpoint_list == jh) { in __buffer_unlink_first()
37 transaction->t_checkpoint_list = jh->b_cpnext; in __buffer_unlink_first()
38 if (transaction->t_checkpoint_list == jh) in __buffer_unlink_first()
39 transaction->t_checkpoint_list = NULL; in __buffer_unlink_first()
44 * Unlink a buffer from a transaction checkpoint(io) list.
50 transaction_t *transaction = jh->b_cp_transaction; in __buffer_unlink() local
53 if (transaction->t_checkpoint_io_list == jh) { in __buffer_unlink()
54 transaction->t_checkpoint_io_list = jh->b_cpnext; in __buffer_unlink()
[all …]
Dtransaction.c3 * linux/fs/jbd2/transaction.c
9 * Generic filesystem transaction handling code; part of the ext2fs
46 pr_emerg("JBD2: failed to create transaction cache\n"); in jbd2_journal_init_transaction_cache()
58 void jbd2_journal_free_transaction(transaction_t *transaction) in jbd2_journal_free_transaction() argument
60 if (unlikely(ZERO_OR_NULL_PTR(transaction))) in jbd2_journal_free_transaction()
62 kmem_cache_free(transaction_cache, transaction); in jbd2_journal_free_transaction()
66 * Base amount of descriptor blocks we reserve for each transaction.
81 * space for commit block and normal transaction descriptor blocks. in jbd2_descriptor_blocks_per_trans()
90 * Simply initialise a new transaction. Initialize it in
92 * have an existing running transaction: we only make a new transaction
[all …]
Drevoke.c17 * transaction's revoked blocks to the journal
19 * + Recovery: during recovery we record the transaction ID of all
26 * single transaction:
30 * cancel the revoke before the transaction commits.
37 * in the current transaction, so any revoke for that block in the
38 * transaction must have happened after the block was journaled and so
47 * We cache revoke status of a buffer in the current transaction in b_states
62 * running transaction (is pointed to by journal->j_revoke), the other one
63 * belongs to the committing transaction. Accesses to the second hash table
66 * running and which to the committing transaction is called only from
[all …]
Djournal.c175 transaction_t *transaction; in kjournald2() local
192 * transaction commit and any fs involvement might get stuck waiting for in kjournald2()
241 transaction = journal->j_running_transaction; in kjournald2()
242 if (transaction && time_after_eq(jiffies, in kjournald2()
243 transaction->t_expires)) in kjournald2()
260 transaction = journal->j_running_transaction; in kjournald2()
261 if (transaction && time_after_eq(jiffies, transaction->t_expires)) { in kjournald2()
262 journal->j_commit_request = transaction->t_tid; in kjournald2()
320 * If the source buffer has already been modified by a new transaction
338 int jbd2_journal_write_metadata_buffer(transaction_t *transaction, in jbd2_journal_write_metadata_buffer() argument
[all …]
/Linux-v5.10/Documentation/filesystems/
Dxfs-delayed-logging-design.rst26 changes in the new transaction that is written to the log.
31 transaction::
33 Transaction Contents LSN
42 In other words, each time an object is relogged, the new transaction contains
48 (increasing) LSN of each subsequent transaction - the LSN is effectively a
49 direct encoding of the location in the log of the transaction.
52 transactions. These transaction are known as rolling transactions, and require
53 a special log reservation known as a permanent transaction reservation. A
54 typical example of a rolling transaction is the removal of extents from an
55 inode which can only be done at a rate of two extents per transaction because
[all …]
Djournalling.rst42 this use jbd2_journal_start() which returns a transaction handle.
45 which indicates the end of a transaction are nestable calls, so you can
46 reenter a transaction if necessary, but remember you must call
48 jbd2_journal_start() before the transaction is completed (or more
52 Inside each transaction you need to wrap the modifications to the
59 uncommitted transaction. At this point you are at last ready to modify a
74 single outstanding transaction at any one time, remember nothing commits
76 the transaction at the end of each file/inode/address etc. operation you
83 if there isn't enough space in the journal for your transaction (based
96 transaction. I advise having a look at at least ext4_jbd.h to see the
[all …]
/Linux-v5.10/drivers/net/ipa/
Dgsi_trans.h25 * struct gsi_trans - a GSI transaction
27 * Most fields in this structure for internal use by the transaction core code:
28 * @links: Links for channel transaction lists by state
30 * @channel_id: Channel number transaction is associated with
31 * @cancelled: If set by the core code, transaction was cancelled
32 * @tre_count: Number of TREs reserved for this transaction
35 * @data: Preserved but not touched by the core transaction code
40 * @completion: Completed when the transaction completes
41 * @byte_count: TX channel byte count recorded when transaction committed
42 * @trans_count: Channel transaction count when committed (for BQL accounting)
[all …]
Dgsi_trans.c24 * A GSI transaction abstracts the behavior of a GSI channel by representing
28 * by the GSI transaction core, allowing users to simply describe commands
29 * to be performed. When a transaction has completed a callback function
31 * cleanup of resources associated with the transaction.
33 * To perform a command (or set of them), a user of the GSI transaction
34 * interface allocates a transaction, indicating the number of TREs required
36 * for use in the transaction and the allocation succeeds. This way
38 * as early as possible. All resources required to complete a transaction
39 * are allocated at transaction allocation time.
41 * Commands performed as part of a transaction are represented in an array
[all …]
Dgsi_private.h19 /* Return the entry that follows one provided in a transaction pool */
23 * gsi_trans_move_complete() - Mark a GSI transaction completed
24 * @trans: Transaction to commit
29 * gsi_trans_move_polled() - Mark a transaction polled
30 * @trans: Transaction to update
35 * gsi_trans_complete() - Complete a GSI transaction
36 * @trans: Transaction to complete
38 * Marks a transaction complete (including freeing it).
43 * gsi_channel_trans_mapped() - Return a transaction mapped to a TRE index
44 * @channel: Channel associated with the transaction
[all …]
Dipa_cmd.h109 * ipa_cmd_table_init_add() - Add table init command to a transaction
110 * @trans: GSI transaction
127 * ipa_cmd_hdr_init_local_add() - Add a header init command to a transaction
139 * ipa_cmd_register_write_add() - Add a register write command to a transaction
140 * @trans: GSI transaction
150 * ipa_cmd_dma_shared_mem_add() - Add a DMA memory command to a transaction
151 * @trans: GSI transaction
161 * ipa_cmd_tag_process_add() - Add IPA tag process commands to a transaction
162 * @trans: GSI transaction
169 * Return: The number of elements to allocate in a transaction
[all …]
/Linux-v5.10/include/linux/
Djournal-head.h16 typedef unsigned int tid_t; /* Unique transaction ID */
17 typedef struct transaction_s transaction_t; /* Compound transaction type */
50 * the currently running transaction
69 * Pointer to the compound transaction which owns this buffer's
70 * metadata: either the running transaction or the committing
71 * transaction (if there is one). Only applies to buffers on a
72 * transaction's data or metadata journaling list.
80 * Pointer to the running compound transaction which is currently
81 * modifying the buffer's metadata, if there was already a transaction
82 * committing it when the new transaction touched it.
[all …]
Djbd2.h9 * Definitions for transaction data structures for the buffer cache
87 * the transaction, so that at all times we know how many buffers the
88 * outstanding updates on a transaction might possibly touch.
100 * We use the journal_t to keep track of all outstanding transaction
220 #define JBD2_FLAG_DELETED 4 /* block deleted by this transaction */
405 * ordered mode present in a transaction so that we can sync them during commit.
411 * Which transaction does this inode belong to? Either the running
412 * transaction or the committing one. [j_list_lock]
419 * Pointer to the running transaction modifying inode's data in case
420 * there is already a committing transaction touching it. [j_list_lock]
[all …]
/Linux-v5.10/Documentation/powerpc/
Dtransactional_memory.rst21 A simple transaction looks like this::
41 /* Retry the transaction if it failed because it conflicted with
50 example, the transaction completes as though it were normal straight-line code
58 transaction, the transaction will be aborted by the CPU. Register and memory
66 Causes of transaction aborts
78 Syscalls made from within an active transaction will not be performed and the
79 transaction will be doomed by the kernel with the failure code TM_CAUSE_SYSCALL
82 Syscalls made from within a suspended transaction are performed as normal and
83 the transaction is not explicitly doomed by the kernel. However, what the
84 kernel does to perform the syscall may result in the transaction being doomed
[all …]
/Linux-v5.10/drivers/staging/octeon-usb/
Docteon-hcd.c106 * @CVMX_USB_STATUS_OK: The transaction / operation finished without
109 * @CVMX_USB_STATUS_CANCEL: The transaction was canceled while in flight
111 * @CVMX_USB_STATUS_ERROR: The transaction aborted with an unexpected
113 * @CVMX_USB_STATUS_STALL: The transaction received a USB STALL response
115 * @CVMX_USB_STATUS_XACTERR: The transaction failed with an error from the
117 * @CVMX_USB_STATUS_DATATGLERR: The transaction failed with a data toggle
119 * @CVMX_USB_STATUS_BABBLEERR: The transaction failed with a babble error
120 * @CVMX_USB_STATUS_FRAMEERR: The transaction failed with a frame error
236 * enum represents all of the possible stages a transaction can
239 * transaction with a simple clearing of bit 0.
[all …]
/Linux-v5.10/fs/ntfs/
Dusnjrnl.h3 * usnjrnl.h - Defines for NTFS kernel transaction log ($UsnJrnl) handling.
20 * Transaction log ($UsnJrnl) organization:
22 * The transaction log records whenever a file is modified in any way. So for
28 * The transaction log is in the $Extend directory which is in the root
29 * directory of each volume. If it is not present it means transaction
30 * logging is disabled. If it is present it means transaction logging is
34 * To determine whether the transaction logging is enabled or in the process
38 * If the flag VOLUME_DELETE_USN_UNDERWAY is set it means the transaction log
40 * transaction log is enabled.
42 * The transaction log consists of two parts; the $DATA/$Max attribute as well
[all …]
/Linux-v5.10/fs/btrfs/
Dtransaction.c16 #include "transaction.h"
29 * Transaction states and transitions
31 * No running transaction (fs tree blocks are not modified)
36 * Transaction N [[TRANS_STATE_RUNNING]]
38 * | New trans handles can be attached to transaction N by calling all
43 * | transaction N
45 * Transaction N [[TRANS_STATE_COMMIT_START]]
47 * | Will wait for previous running transaction to completely finish if there
53 * | - Wait for current transaction to be committed by others.
57 * | to this running transaction.
[all …]
Dtransaction.h31 * transaction, it must be zero before the transaction is
36 * total writers in this transaction, it must be zero before the
37 * transaction can end
60 * it do so under some form of transaction critical section, namely:
63 * run by one of the transaction committers. Refer to
67 * commit_cowonly_roots from transaction critical section
70 * - btrfs_cleanup_dirty_bgs - called on transaction abort
90 * Number of ordered extents the transaction must wait for before
122 struct btrfs_transaction *transaction; member
128 * Error code of transaction abort, set outside of locks and must use
[all …]
/Linux-v5.10/tools/perf/pmu-events/arch/x86/cascadelakex/
Dother.json11 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
24 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
37 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
50 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
63 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
76 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
89 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
102 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
115 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
128 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
[all …]
Dmemory.json11 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
24 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
37 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
51 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
65 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
79 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
92 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
106 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
120 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
134 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
[all …]
Dcache.json12 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
26 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
40 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
54 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
78 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
92 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
118 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
132 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
166 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
180 …and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
[all …]
/Linux-v5.10/fs/xfs/libxfs/
Dxfs_defer.c27 * we can roll the transaction to adhere to AG locking order rules and
38 * roll a transaction to facilitate this, but using this facility
50 * start, we define "rolling a deferred-op transaction" as follows:
59 * > Roll the transaction.
61 * NOTE: To avoid exceeding the transaction reservation, we limit the
67 * - Roll the deferred-op transaction as above.
74 * wants a new transaction. See the "Requesting a Fresh
75 * Transaction while Finishing Deferred Work" section below for
79 * work items every time we roll the transaction, and that we must log
84 * Requesting a Fresh Transaction while Finishing Deferred Work
[all …]
/Linux-v5.10/fs/xfs/
Dxfs_trans.c48 * Initialize the precomputed transaction reservation values
60 * Free the transaction structure. If there is more clean up
78 * This is called to create a new transaction which will share the
79 * permanent log reservation of the given transaction. The remaining
81 * implies that the original transaction is no longer allowed to allocate
83 * be added to the new transaction explicitly.
96 * Initialize the new transaction structure. in xfs_trans_dup()
112 /* We gave our writer reference to the new transaction */ in xfs_trans_dup()
133 * given transaction. This must be done before allocating any resources
134 * within the transaction.
[all …]
Dxfs_trans_buf.c20 * a part of the given transaction.
52 * Add the locked buffer to the transaction.
55 * transaction.
58 * then allocate one for it. Then add the buf item to the transaction.
84 * Take a reference for this transaction on the buf item. in _xfs_trans_bjoin()
89 * Attach the item to the transaction so we can find it in in _xfs_trans_bjoin()
108 * locked within the given transaction. If it is already locked
109 * within the transaction, just increment its lock recursion count
112 * If the transaction pointer is NULL, make this just a normal
133 * If we find the buffer in the cache with this transaction in xfs_trans_get_buf_map()
[all …]
/Linux-v5.10/include/linux/dma/
Dsprd-dma.h18 * configurations. Once the source channel's transaction is done, it will
19 * trigger the destination channel's transaction automatically by hardware
49 * @SPRD_DMA_FRAG_DONE_TRG: Trigger the transaction of destination channel
51 * @SPRD_DMA_BLOCK_DONE_TRG: Trigger the transaction of destination channel
53 * @SPRD_DMA_TRANS_DONE_TRG: Trigger the transaction of destination channel
55 * @SPRD_DMA_LIST_DONE_TRG: Trigger the transaction of destination channel
70 * @SPRD_DMA_TRANS_REQ: transaction request mode
73 * We have 4 types request mode: fragment mode, block mode, transaction mode
74 * and linklist mode. One transaction can contain several blocks, one block can
94 * @SPRD_DMA_TRANS_INT: tansaction done interrupt when one transaction
[all …]
/Linux-v5.10/fs/ext4/
Dext4_jbd2.h21 /* Define the number of blocks we need to account to a transaction to
26 * block to complete the transaction.
42 /* Define the minimum size for a transaction which modifies data. This
61 * writing to any given transaction. For unbounded transactions such as
63 * start off at the maximum transaction size and grow the transaction
68 /* We break up a large truncate or write transaction once the handle's
70 * transaction or to start a new one. Reserve enough space here for
148 * ext4_journal_callback_add: add a function to call after transaction commit
149 * @handle: active journal transaction handle to register callback on
150 * @func: callback function to call after the transaction has committed:
[all …]

12345678910>>...56