Lines Matching full:fast

8  * Ext4 fast commits routines.
16 * Ext4 Fast Commits
19 * Ext4 fast commits implement fine grained journalling for Ext4.
21 * Fast commits are organized as a log of tag-length-value (TLV) structs. (See
24 * don't have replay code, fast commit falls back to full commits.
25 * Fast commits record delta in one of the following three categories.
46 * With fast commits, we maintain all the directory entry operations in the
49 * that need to be committed during a fast commit in another in memory queue of
55 * [4] Commit all the directory entry updates in the fast commit space
62 * update. If such an ongoing update is present, fast commit waits for it to
66 * Fast Commit Ineligibility
68 * Not all operations are supported by fast commits today (e.g extended
69 * attributes). Fast commit ineligiblity is marked by calling one of the
72 * - ext4_fc_mark_ineligible(): This makes next fast commit operation to fall
76 * the fast commits happening between ext4_fc_start_ineligible() and
77 * ext4_fc_stop_ineligible() and one fast commit after the call to
79 * make one more fast commit to fall back to full commit after stop call so
80 * that it guaranteed that the fast commit ineligible operation contained
86 * In order to guarantee atomicity during the commit operation, fast commit
87 * uses "EXT4_FC_TAG_TAIL" tag that marks a fast commit as complete. Tail
89 * this fast commit should be applied. Recovery code replays fast commit
90 * logs only if there's at least 1 valid tail present. For every fast commit
92 * in the fast commit space. Here's an example:
100 * The fast commit space at the end of above operations would look like this:
102 * |<--- Fast Commit 1 --->|<--- Fast Commit 2 ---->|
108 * 1) Make fast commit atomic updates more fine grained. Today, a fast commit
183 * Inform Ext4's fast about start of an inode update
187 * fast commit on the inode in question.
212 * Stop inode update and wake up waiting fast commits if any.
227 * Remove inode from fast commit list. If the inode is being committed
254 * Mark file system as fast commit ineligible. This means that next commit
271 * Start a fast commit ineligible update. Any commits that happen while
288 * Stop a fast commit ineligible update. We set EXT4_MF_FC_INELIGIBLE flag here
309 * Generic fast commit tracking function. If this is the first time this we are
310 * called after a full commit, we initialize fast commit fields and then call
316 * If enqueue is set, this function enqueues the inode in fast commit list.
577 * Allocate len bytes on a fast commit buffer.
579 * During the commit time this function is used to manage fast commit
580 * block space. We don't split a fast commit log onto different
646 * Complete a fast commit by writing tail tag.
648 * Writing tail tag marks the end of a fast commit. In order to guarantee
740 * Writes inode in the fast commit space under TLV with tag @tag.
851 /* Submit data for all the fast commit inodes */
888 /* Wait for completion of data for all the fast commit inodes */
1015 * flush before we start writing fast commit blocks. in ext4_fc_perform_commit()
1023 * Add a head tag only if this is the first fast commit in ext4_fc_perform_commit()
1066 * The main commit entry point. Performs a fast commit for transaction
1067 * commit_tid if needed. If it's not possible to perform a fast commit
1150 "Fast commit ended with blks = %d, reason = %d, subtid - %d", in ext4_fc_commit()
1161 * Fast commit cleanup routine. This is called after every fast commit and
1554 * Record physical disk regions which are in use as per fast commit area. Our
1666 * map to new physical blocks during a fast commit. in ext4_fc_replay_add_range()
1884 * - Make sure the fast commit area has valid tags for replay
2102 * We set replay callback even if fast commit disabled because we may in ext4_fc_init()
2103 * could still have fast commit blocks that need to be replayed even if in ext4_fc_init()
2104 * fast commit has now been turned off. in ext4_fc_init()