Lines Matching full:space

14  * space management.
16 * Factors such as compression, wasted space at the ends of LEBs, space in other
18 * impossible to accurately predict the amount of space needed. Consequently
31 * When pessimistic budget calculations say that there is no enough space,
68 * This function runs garbage collector to make some more free space. Returns
76 /* Make some free space by garbage-collecting dirty space */ in run_gc()
109 * make_free_space - make more free space on the file-system.
113 * is supposedly no free space. But in most cases there is some free space:
115 * needed, so shrinking the liability is one way to make free space - the
116 * cached data will take less space then it was budgeted for;
117 * o GC may turn some dark space into free space (budgeting treats dark space
121 * So this function tries to do the above. Returns %-EAGAIN if some free space
123 * Returns %-ENOSPC if it couldn't do more free space, and other negative error
179 /* And make sure we have thrice the index size of space reserved */ in ubifs_calc_min_idx_lebs()
199 * ubifs_calc_available - calculate available FS space.
203 * This function calculates and returns amount of FS space available for use.
213 * Now 'available' contains theoretically available flash space in ubifs_calc_available()
214 * assuming there is no index, so we have to subtract the space which in ubifs_calc_available()
225 * one head's space. in ubifs_calc_available()
234 /* Subtract the dead space which is not available for use */ in ubifs_calc_available()
238 * Subtract dark space, which might or might not be usable - it depends in ubifs_calc_available()
241 * space cannot be used. in ubifs_calc_available()
246 * However, there is more dark space. The index may be bigger than in ubifs_calc_available()
248 * their dark space is not included in total_dark, so it is subtracted in ubifs_calc_available()
264 * UBIFS has so-called "reserved pool" which is flash space reserved
278 * do_budget_space - reserve flash space for index and data growth.
284 * When budgeting index space, UBIFS reserves thrice as many LEBs as the index
288 * budgeted index space to the size of the current index, multiplies this by 3,
294 * there is free space. IOW, the index may take a lot of LEBs, but the LEBs
307 /* First budget index space */ in do_budget_space()
324 * dirty space, @c->idx_gc_cnt are available because they are index in do_budget_space()
341 dbg_budg("out of indexing space: min_idx_lebs %d (old %d), rsvd_idx_lebs %d", in do_budget_space()
350 dbg_budg("out of data space: available %lld, outstanding %lld", in do_budget_space()
422 * ubifs_budget_space - ensure there is enough space to complete an operation.
427 * approximation of how much flash space the operation needs. The goal of this
428 * function is to make sure UBIFS always has flash space to flush all dirty
431 * %-ENOSPC if there is no free space and other negative error codes in case of
462 dbg_budg("no space"); in ubifs_budget_space()
487 dbg_budg("no space for fast budgeting"); in ubifs_budget_space()
508 ubifs_err(c, "cannot budget space, error %d", err); in ubifs_budget_space()
513 * ubifs_release_budget - release budgeted free space.
517 * This function releases the space budgeted by 'ubifs_budget_space()'. Note,
588 /* And re-calculate the indexing space reservation */ in ubifs_convert_page_budget()
600 * clean. It also causes the "no space" flags to be cleared.
608 /* The "no space" flags will be cleared because dd_growth is > 0 */ in ubifs_release_dirty_inode_budget()
615 * ubifs_reported_space - calculate reported free space.
617 * @free: amount of free space
619 * This function calculates amount of free space which will be reported to
620 * user-space. User-space application tend to expect that if the file-system
624 * overhead, and UBIFS has to report slightly less free space to meet the above
627 * This function assumes free space is made up of uncompressed data nodes and
629 * space to write the index thrice).
632 * UBIFS reports less space than it actually has.
639 * Reported space size is @free * X, where X is UBIFS block size in ubifs_reported_space()
648 * Note, the multiplier 3 is because UBIFS reserves thrice as more space in ubifs_reported_space()
661 * ubifs_get_free_space_nolock - return amount of free space.
664 * This function calculates amount of free space to report to user-space.
668 * free flash space it has (well, because not all dirty space is reclaimable,
670 * bread user expectations about what free space is. Users seem to accustomed
671 * to assume that if the file-system reports N bytes of free space, they would
686 * When reporting free space to user-space, UBIFS guarantees that it is in ubifs_get_free_space_nolock()
687 * possible to write a file of free space size. This means that for in ubifs_get_free_space_nolock()
691 * Thus, amend the available space. in ubifs_get_free_space_nolock()
713 * ubifs_get_free_space - return amount of free space.
716 * This function calculates and returns amount of free space to report to
717 * user-space.