Lines Matching full:space
13 * space management.
15 * Factors such as compression, wasted space at the ends of LEBs, space in other
17 * impossible to accurately predict the amount of space needed. Consequently
26 * When pessimistic budget calculations say that there is no enough space,
62 * This function runs garbage collector to make some more free space. Returns
70 /* Make some free space by garbage-collecting dirty space */ in run_gc()
100 * make_free_space - make more free space on the file-system.
104 * is supposedly no free space. But in most cases there is some free space:
106 * needed, so shrinking the liability is one way to make free space - the
107 * cached data will take less space then it was budgeted for;
108 * o GC may turn some dark space into free space (budgeting treats dark space
112 * So this function tries to do the above. Returns %-EAGAIN if some free space
114 * Returns %-ENOSPC if it couldn't do more free space, and other negative error
169 /* And make sure we have thrice the index size of space reserved */ in ubifs_calc_min_idx_lebs()
188 * ubifs_calc_available - calculate available FS space.
192 * This function calculates and returns amount of FS space available for use.
202 * Now 'available' contains theoretically available flash space in ubifs_calc_available()
203 * assuming there is no index, so we have to subtract the space which in ubifs_calc_available()
214 * one head's space. in ubifs_calc_available()
223 /* Subtract the dead space which is not available for use */ in ubifs_calc_available()
227 * Subtract dark space, which might or might not be usable - it depends in ubifs_calc_available()
230 * space cannot be used. in ubifs_calc_available()
235 * However, there is more dark space. The index may be bigger than in ubifs_calc_available()
237 * their dark space is not included in total_dark, so it is subtracted in ubifs_calc_available()
253 * UBIFS has so-called "reserved pool" which is flash space reserved
267 * do_budget_space - reserve flash space for index and data growth.
273 * When budgeting index space, UBIFS reserves thrice as many LEBs as the index
277 * budgeted index space to the size of the current index, multiplies this by 3,
283 * there is free space. IOW, the index may take a lot of LEBs, but the LEBs
296 /* First budget index space */ in do_budget_space()
313 * dirty space, @c->idx_gc_cnt are available because they are index in do_budget_space()
330 dbg_budg("out of indexing space: min_idx_lebs %d (old %d), rsvd_idx_lebs %d", in do_budget_space()
339 dbg_budg("out of data space: available %lld, outstanding %lld", in do_budget_space()
411 * ubifs_budget_space - ensure there is enough space to complete an operation.
416 * approximation of how much flash space the operation needs. The goal of this
417 * function is to make sure UBIFS always has flash space to flush all dirty
420 * %-ENOSPC if there is no free space and other negative error codes in case of
451 dbg_budg("no space"); in ubifs_budget_space()
476 dbg_budg("no space for fast budgeting"); in ubifs_budget_space()
497 ubifs_err(c, "cannot budget space, error %d", err); in ubifs_budget_space()
502 * ubifs_release_budget - release budgeted free space.
506 * This function releases the space budgeted by 'ubifs_budget_space()'. Note,
577 /* And re-calculate the indexing space reservation */ in ubifs_convert_page_budget()
589 * clean. It also causes the "no space" flags to be cleared.
597 /* The "no space" flags will be cleared because dd_growth is > 0 */ in ubifs_release_dirty_inode_budget()
603 * ubifs_reported_space - calculate reported free space.
605 * @free: amount of free space
607 * This function calculates amount of free space which will be reported to
608 * user-space. User-space application tend to expect that if the file-system
612 * overhead, and UBIFS has to report slightly less free space to meet the above
615 * This function assumes free space is made up of uncompressed data nodes and
617 * space to write the index thrice).
620 * UBIFS reports less space than it actually has.
627 * Reported space size is @free * X, where X is UBIFS block size in ubifs_reported_space()
636 * Note, the multiplier 3 is because UBIFS reserves thrice as more space in ubifs_reported_space()
648 * ubifs_get_free_space_nolock - return amount of free space.
651 * This function calculates amount of free space to report to user-space.
655 * free flash space it has (well, because not all dirty space is reclaimable,
657 * bread user expectations about what free space is. Users seem to accustomed
658 * to assume that if the file-system reports N bytes of free space, they would
673 * When reporting free space to user-space, UBIFS guarantees that it is in ubifs_get_free_space_nolock()
674 * possible to write a file of free space size. This means that for in ubifs_get_free_space_nolock()
678 * Thus, amend the available space. in ubifs_get_free_space_nolock()
700 * ubifs_get_free_space - return amount of free space.
703 * This function calculates and returns amount of free space to report to
704 * user-space.