Lines Matching full:commit

12  * This file implements functions that manage the running of the commit process.
14 * commit and those functions are called here.
16 * The commit is the process whereby all updates to the index and LEB properties
21 * The commit is split into two parts named "commit start" and "commit end".
22 * During commit start, the commit process has exclusive access to the journal
23 * by holding the commit semaphore down for writing. As few I/O operations as
24 * possible are performed during commit start, instead the nodes that are to be
25 * written are merely identified. During commit end, the commit semaphore is no
27 * to use the file system while the bulk of the commit I/O is performed. The
28 * purpose of this two-step approach is to prevent the commit from causing any
29 * latency blips. Note that in any case, the commit does not prevent lookups
40 * nothing_to_commit - check if there is nothing to commit.
43 * This is a helper function which checks if there is anything to commit. It is
44 * used as an optimization to avoid starting the commit if it is not really
45 * necessary. Indeed, the commit operation always assumes flash I/O (e.g.,
46 * writing the commit start node to the log), and it is better to avoid doing
47 * this unnecessarily. E.g., 'ubifs_sync_fs()' runs the commit, but if there is
48 * nothing to commit, it is more optimal to avoid any flash I/O.
54 * This function returns %1 if there is nothing to commit and %0 otherwise.
60 * commit for various recovery-related reasons. in nothing_to_commit()
67 * commit. in nothing_to_commit()
90 * do_commit - commit the journal.
93 * This function implements UBIFS commit. It has to be called with commit lock
209 dbg_cmt("commit end"); in do_commit()
216 ubifs_err(c, "commit failed, error %d", err); in do_commit()
226 * run_bg_commit - run background commit if it is needed.
229 * This function runs background commit if it is needed. Returns zero in case
236 * Run background commit only if background commit was requested or if in run_bg_commit()
237 * commit is required. in run_bg_commit()
270 * o when the journal is about to be full, it starts in-advance commit.
320 * ubifs_commit_required - set commit state to "required".
323 * This function is called if a commit is required but cannot be done from the
350 * ubifs_request_bg_commit - notify the background thread to do a commit.
353 * This function is called if the journal is full enough to make a commit
370 * wait_for_commit - wait for commit.
373 * This function sleeps until the commit operation is no longer running.
381 * when the commit ends. It is possible, although very unlikely, that we in wait_for_commit()
382 * will wake up and see the subsequent commit running, rather than the in wait_for_commit()
388 dbg_cmt("commit finished, pid %d woke up", current->pid); in wait_for_commit()
393 * ubifs_run_commit - run or wait for commit.
396 * This function runs commit and returns zero in case of success and a negative
411 * We set the commit state to 'running required' to indicate in ubifs_run_commit()
422 /* Ok, the commit is indeed needed */ in ubifs_run_commit()
457 * ubifs_gc_should_commit - determine if it is time for GC to run commit.
460 * This function is called by garbage collection to determine if commit should
461 * be run. If commit state is @COMMIT_BACKGROUND, which means that the journal
462 * is full enough to start commit, this function returns true. It is not
463 * absolutely necessary to commit yet, but it feels like this should be better
464 * then to keep doing GC. This function returns %1 if GC has to initiate commit
473 dbg_cmt("commit required now"); in ubifs_gc_should_commit()
476 dbg_cmt("commit not requested"); in ubifs_gc_should_commit()
546 * the index must exist on flash. This is the "old" index. The commit process
548 * part of the old index. This function is run at commit end in order to check