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()
103 * make_free_space - make more free space on the file-system.
107 * is supposedly no free space. But in most cases there is some free space:
109 * needed, so shrinking the liability is one way to make free space - the
110 * cached data will take less space then it was budgeted for;
111 * o GC may turn some dark space into free space (budgeting treats dark space
115 * So this function tries to do the above. Returns %-EAGAIN if some free space
117 * Returns %-ENOSPC if it couldn't do more free space, and other negative error
172 /* And make sure we have thrice the index size of space reserved */ in ubifs_calc_min_idx_lebs()
191 * ubifs_calc_available - calculate available FS space.
195 * This function calculates and returns amount of FS space available for use.
205 * Now 'available' contains theoretically available flash space in ubifs_calc_available()
206 * assuming there is no index, so we have to subtract the space which in ubifs_calc_available()
217 * one head's space. in ubifs_calc_available()
226 /* Subtract the dead space which is not available for use */ in ubifs_calc_available()
230 * Subtract dark space, which might or might not be usable - it depends in ubifs_calc_available()
233 * space cannot be used. in ubifs_calc_available()
238 * However, there is more dark space. The index may be bigger than in ubifs_calc_available()
240 * their dark space is not included in total_dark, so it is subtracted in ubifs_calc_available()
256 * UBIFS has so-called "reserved pool" which is flash space reserved
270 * do_budget_space - reserve flash space for index and data growth.
276 * When budgeting index space, UBIFS reserves thrice as many LEBs as the index
280 * budgeted index space to the size of the current index, multiplies this by 3,
286 * there is free space. IOW, the index may take a lot of LEBs, but the LEBs
299 /* First budget index space */ in do_budget_space()
316 * dirty space, @c->idx_gc_cnt are available because they are index in do_budget_space()
333 dbg_budg("out of indexing space: min_idx_lebs %d (old %d), rsvd_idx_lebs %d", in do_budget_space()
342 dbg_budg("out of data space: available %lld, outstanding %lld", in do_budget_space()
414 * ubifs_budget_space - ensure there is enough space to complete an operation.
419 * approximation of how much flash space the operation needs. The goal of this
420 * function is to make sure UBIFS always has flash space to flush all dirty
423 * %-ENOSPC if there is no free space and other negative error codes in case of
454 dbg_budg("no space"); in ubifs_budget_space()
479 dbg_budg("no space for fast budgeting"); in ubifs_budget_space()
500 ubifs_err(c, "cannot budget space, error %d", err); in ubifs_budget_space()
505 * ubifs_release_budget - release budgeted free space.
509 * This function releases the space budgeted by 'ubifs_budget_space()'. Note,
580 /* And re-calculate the indexing space reservation */ in ubifs_convert_page_budget()
592 * clean. It also causes the "no space" flags to be cleared.
600 /* The "no space" flags will be cleared because dd_growth is > 0 */ in ubifs_release_dirty_inode_budget()
606 * ubifs_reported_space - calculate reported free space.
608 * @free: amount of free space
610 * This function calculates amount of free space which will be reported to
611 * user-space. User-space application tend to expect that if the file-system
615 * overhead, and UBIFS has to report slightly less free space to meet the above
618 * This function assumes free space is made up of uncompressed data nodes and
620 * space to write the index thrice).
623 * UBIFS reports less space than it actually has.
630 * Reported space size is @free * X, where X is UBIFS block size in ubifs_reported_space()
639 * Note, the multiplier 3 is because UBIFS reserves thrice as more space in ubifs_reported_space()
651 * ubifs_get_free_space_nolock - return amount of free space.
654 * This function calculates amount of free space to report to user-space.
658 * free flash space it has (well, because not all dirty space is reclaimable,
660 * bread user expectations about what free space is. Users seem to accustomed
661 * to assume that if the file-system reports N bytes of free space, they would
676 * When reporting free space to user-space, UBIFS guarantees that it is in ubifs_get_free_space_nolock()
677 * possible to write a file of free space size. This means that for in ubifs_get_free_space_nolock()
681 * Thus, amend the available space. in ubifs_get_free_space_nolock()
703 * ubifs_get_free_space - return amount of free space.
706 * This function calculates and returns amount of free space to report to
707 * user-space.