Linux Kernel
3.7.1
|
#include <ubifs.h>
Data Fields | |
unsigned int | fast:1 |
unsigned int | recalculate:1 |
unsigned int | new_page:1 |
unsigned int | dirtied_page:1 |
unsigned int | new_dent:1 |
unsigned int | mod_dent:1 |
unsigned int | new_ino:1 |
unsigned int | new_ino_d:13 |
unsigned int | dirtied_ino:4 |
unsigned int | dirtied_ino_d:15 |
int | idx_growth |
int | data_growth |
int | dd_growth |
struct ubifs_budget_req - budget requirements of an operation.
: non-zero if the budgeting should try to acquire budget quickly and should not try to call write-back : non-zero if , , and fields have to be re-calculated : non-zero if the operation adds a new page : non-zero if the operation makes a page dirty : non-zero if the operation adds a new directory entry : non-zero if the operation removes or modifies an existing directory entry : non-zero if the operation adds a new inode : now much data newly created inode contains : how many inodes the operation makes dirty : now much data dirtied inode contains : how much the index will supposedly grow : how much new data the operation will supposedly add : how much data that makes other data dirty the operation will supposedly add
, and are not used in budget request. The budgeting subsystem caches index and data growth values there to avoid re-calculating them when the budget is released. However, if is %-1, it is calculated by the release function using other fields.
An inode may contain 4KiB of data at max., thus the widths of is 13 bits, and - 15, because up to 4 inodes may be made dirty by the re-name operation.
Note, UBIFS aligns node lengths to 8-bytes boundary, so the requester has to make sure the amount of inode data which contribute to and fields are aligned.