• Home
  • Raw
  • Download

Lines Matching full:space

25  * space management.
27 * Factors such as compression, wasted space at the ends of LEBs, space in other
29 * impossible to accurately predict the amount of space needed. Consequently
38 * When pessimistic budget calculations say that there is no enough space,
74 * This function runs garbage collector to make some more free space. Returns
82 /* Make some free space by garbage-collecting dirty space */ in run_gc()
115 * make_free_space - make more free space on the file-system.
119 * is supposedly no free space. But in most cases there is some free space:
121 * needed, so shrinking the liability is one way to make free space - the
122 * cached data will take less space then it was budgeted for;
123 * o GC may turn some dark space into free space (budgeting treats dark space
127 * So this function tries to do the above. Returns %-EAGAIN if some free space
129 * Returns %-ENOSPC if it couldn't do more free space, and other negative error
184 /* And make sure we have thrice the index size of space reserved */ in ubifs_calc_min_idx_lebs()
203 * ubifs_calc_available - calculate available FS space.
207 * This function calculates and returns amount of FS space available for use.
217 * Now 'available' contains theoretically available flash space in ubifs_calc_available()
218 * assuming there is no index, so we have to subtract the space which in ubifs_calc_available()
229 * one head's space. in ubifs_calc_available()
238 /* Subtract the dead space which is not available for use */ in ubifs_calc_available()
242 * Subtract dark space, which might or might not be usable - it depends in ubifs_calc_available()
245 * space cannot be used. in ubifs_calc_available()
250 * However, there is more dark space. The index may be bigger than in ubifs_calc_available()
252 * their dark space is not included in total_dark, so it is subtracted in ubifs_calc_available()
268 * UBIFS has so-called "reserved pool" which is flash space reserved
282 * do_budget_space - reserve flash space for index and data growth.
288 * When budgeting index space, UBIFS reserves thrice as many LEBs as the index
292 * budgeted index space to the size of the current index, multiplies this by 3,
298 * there is free space. IOW, the index may take a lot of LEBs, but the LEBs
311 /* First budget index space */ in do_budget_space()
328 * dirty space, @c->idx_gc_cnt are available because they are index in do_budget_space()
345 dbg_budg("out of indexing space: min_idx_lebs %d (old %d), rsvd_idx_lebs %d", in do_budget_space()
354 dbg_budg("out of data space: available %lld, outstanding %lld", in do_budget_space()
426 * ubifs_budget_space - ensure there is enough space to complete an operation.
431 * approximation of how much flash space the operation needs. The goal of this
432 * function is to make sure UBIFS always has flash space to flush all dirty
435 * %-ENOSPC if there is no free space and other negative error codes in case of
466 dbg_budg("no space"); in ubifs_budget_space()
491 dbg_budg("no space for fast budgeting"); in ubifs_budget_space()
512 ubifs_err(c, "cannot budget space, error %d", err); in ubifs_budget_space()
517 * ubifs_release_budget - release budgeted free space.
521 * This function releases the space budgeted by 'ubifs_budget_space()'. Note,
592 /* And re-calculate the indexing space reservation */ in ubifs_convert_page_budget()
604 * clean. It also causes the "no space" flags to be cleared.
612 /* The "no space" flags will be cleared because dd_growth is > 0 */ in ubifs_release_dirty_inode_budget()
618 * ubifs_reported_space - calculate reported free space.
620 * @free: amount of free space
622 * This function calculates amount of free space which will be reported to
623 * user-space. User-space application tend to expect that if the file-system
627 * overhead, and UBIFS has to report slightly less free space to meet the above
630 * This function assumes free space is made up of uncompressed data nodes and
632 * space to write the index thrice).
635 * UBIFS reports less space than it actually has.
642 * Reported space size is @free * X, where X is UBIFS block size in ubifs_reported_space()
651 * Note, the multiplier 3 is because UBIFS reserves thrice as more space in ubifs_reported_space()
663 * ubifs_get_free_space_nolock - return amount of free space.
666 * This function calculates amount of free space to report to user-space.
670 * free flash space it has (well, because not all dirty space is reclaimable,
672 * bread user expectations about what free space is. Users seem to accustomed
673 * to assume that if the file-system reports N bytes of free space, they would
688 * When reporting free space to user-space, UBIFS guarantees that it is in ubifs_get_free_space_nolock()
689 * possible to write a file of free space size. This means that for in ubifs_get_free_space_nolock()
693 * Thus, amend the available space. in ubifs_get_free_space_nolock()
715 * ubifs_get_free_space - return amount of free space.
718 * This function calculates and returns amount of free space to report to
719 * user-space.