• Home
  • Raw
  • Download

Lines Matching refs:req

375 			   const struct ubifs_budget_req *req)  in calc_idx_growth()  argument
379 znodes = req->new_ino + (req->new_page << UBIFS_BLOCKS_PER_PAGE_SHIFT) + in calc_idx_growth()
380 req->new_dent; in calc_idx_growth()
391 const struct ubifs_budget_req *req) in calc_data_growth() argument
395 data_growth = req->new_ino ? c->bi.inode_budget : 0; in calc_data_growth()
396 if (req->new_page) in calc_data_growth()
398 if (req->new_dent) in calc_data_growth()
400 data_growth += req->new_ino_d; in calc_data_growth()
411 const struct ubifs_budget_req *req) in calc_dd_growth() argument
415 dd_growth = req->dirtied_page ? c->bi.page_budget : 0; in calc_dd_growth()
417 if (req->dirtied_ino) in calc_dd_growth()
418 dd_growth += c->bi.inode_budget << (req->dirtied_ino - 1); in calc_dd_growth()
419 if (req->mod_dent) in calc_dd_growth()
421 dd_growth += req->dirtied_ino_d; in calc_dd_growth()
438 int ubifs_budget_space(struct ubifs_info *c, struct ubifs_budget_req *req) in ubifs_budget_space() argument
442 ubifs_assert(req->new_page <= 1); in ubifs_budget_space()
443 ubifs_assert(req->dirtied_page <= 1); in ubifs_budget_space()
444 ubifs_assert(req->new_dent <= 1); in ubifs_budget_space()
445 ubifs_assert(req->mod_dent <= 1); in ubifs_budget_space()
446 ubifs_assert(req->new_ino <= 1); in ubifs_budget_space()
447 ubifs_assert(req->new_ino_d <= UBIFS_MAX_INO_DATA); in ubifs_budget_space()
448 ubifs_assert(req->dirtied_ino <= 4); in ubifs_budget_space()
449 ubifs_assert(req->dirtied_ino_d <= UBIFS_MAX_INO_DATA * 4); in ubifs_budget_space()
450 ubifs_assert(!(req->new_ino_d & 7)); in ubifs_budget_space()
451 ubifs_assert(!(req->dirtied_ino_d & 7)); in ubifs_budget_space()
453 data_growth = calc_data_growth(c, req); in ubifs_budget_space()
454 dd_growth = calc_dd_growth(c, req); in ubifs_budget_space()
457 idx_growth = calc_idx_growth(c, req); in ubifs_budget_space()
477 req->idx_growth = idx_growth; in ubifs_budget_space()
478 req->data_growth = data_growth; in ubifs_budget_space()
479 req->dd_growth = dd_growth; in ubifs_budget_space()
490 if (req->fast) { in ubifs_budget_space()
527 void ubifs_release_budget(struct ubifs_info *c, struct ubifs_budget_req *req) in ubifs_release_budget() argument
529 ubifs_assert(req->new_page <= 1); in ubifs_release_budget()
530 ubifs_assert(req->dirtied_page <= 1); in ubifs_release_budget()
531 ubifs_assert(req->new_dent <= 1); in ubifs_release_budget()
532 ubifs_assert(req->mod_dent <= 1); in ubifs_release_budget()
533 ubifs_assert(req->new_ino <= 1); in ubifs_release_budget()
534 ubifs_assert(req->new_ino_d <= UBIFS_MAX_INO_DATA); in ubifs_release_budget()
535 ubifs_assert(req->dirtied_ino <= 4); in ubifs_release_budget()
536 ubifs_assert(req->dirtied_ino_d <= UBIFS_MAX_INO_DATA * 4); in ubifs_release_budget()
537 ubifs_assert(!(req->new_ino_d & 7)); in ubifs_release_budget()
538 ubifs_assert(!(req->dirtied_ino_d & 7)); in ubifs_release_budget()
539 if (!req->recalculate) { in ubifs_release_budget()
540 ubifs_assert(req->idx_growth >= 0); in ubifs_release_budget()
541 ubifs_assert(req->data_growth >= 0); in ubifs_release_budget()
542 ubifs_assert(req->dd_growth >= 0); in ubifs_release_budget()
545 if (req->recalculate) { in ubifs_release_budget()
546 req->data_growth = calc_data_growth(c, req); in ubifs_release_budget()
547 req->dd_growth = calc_dd_growth(c, req); in ubifs_release_budget()
548 req->idx_growth = calc_idx_growth(c, req); in ubifs_release_budget()
551 if (!req->data_growth && !req->dd_growth) in ubifs_release_budget()
558 c->bi.idx_growth -= req->idx_growth; in ubifs_release_budget()
559 c->bi.uncommitted_idx += req->idx_growth; in ubifs_release_budget()
560 c->bi.data_growth -= req->data_growth; in ubifs_release_budget()
561 c->bi.dd_growth -= req->dd_growth; in ubifs_release_budget()
609 struct ubifs_budget_req req; in ubifs_release_dirty_inode_budget() local
611 memset(&req, 0, sizeof(struct ubifs_budget_req)); in ubifs_release_dirty_inode_budget()
613 req.dd_growth = c->bi.inode_budget + ALIGN(ui->data_len, 8); in ubifs_release_dirty_inode_budget()
614 ubifs_release_budget(c, &req); in ubifs_release_dirty_inode_budget()