Lines Matching refs:c

59 	struct ubifs_info *c = inode->i_sb->s_fs_info;  in read_block()  local
64 data_key_init(c, &key, inode->i_ino, block); in read_block()
65 err = ubifs_tnc_lookup(c, &key, dn); in read_block()
81 err = ubifs_decompress(c, &dn->data, dlen, addr, &out_len, in read_block()
97 ubifs_err(c, "bad data node (block %u, inode %lu)", in read_block()
99 ubifs_dump_node(c, dn); in read_block()
162 struct ubifs_info *c = inode->i_sb->s_fs_info; in do_readpage() local
169 ubifs_err(c, "cannot read page %lu of inode %lu, error %d", in do_readpage()
199 static void release_new_page_budget(struct ubifs_info *c) in release_new_page_budget() argument
203 ubifs_release_budget(c, &req); in release_new_page_budget()
213 static void release_existing_page_budget(struct ubifs_info *c) in release_existing_page_budget() argument
215 struct ubifs_budget_req req = { .dd_growth = c->bi.page_budget}; in release_existing_page_budget()
217 ubifs_release_budget(c, &req); in release_existing_page_budget()
225 struct ubifs_info *c = inode->i_sb->s_fs_info; in write_begin_slow() local
246 err = ubifs_budget_space(c, &req); in write_begin_slow()
252 ubifs_release_budget(c, &req); in write_begin_slow()
264 ubifs_release_budget(c, &req); in write_begin_slow()
284 release_new_page_budget(c); in write_begin_slow()
292 ubifs_convert_page_budget(c); in write_begin_slow()
308 ubifs_release_dirty_inode_budget(c, ui); in write_begin_slow()
328 static int allocate_budget(struct ubifs_info *c, struct page *page, in allocate_budget() argument
389 return ubifs_budget_space(c, &req); in allocate_budget()
429 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_write_begin() local
437 ubifs_assert(!c->ro_media && !c->ro_mount); in ubifs_write_begin()
439 if (unlikely(c->ro_error)) in ubifs_write_begin()
474 err = allocate_budget(c, page, ui, appending); in ubifs_write_begin()
523 static void cancel_budget(struct ubifs_info *c, struct page *page, in cancel_budget() argument
528 ubifs_release_dirty_inode_budget(c, ui); in cancel_budget()
533 release_new_page_budget(c); in cancel_budget()
535 release_existing_page_budget(c); in cancel_budget()
545 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_write_end() local
564 cancel_budget(c, page, ui, appending); in ubifs_write_end()
577 atomic_long_inc(&c->dirty_pg_cnt); in ubifs_write_end()
609 static int populate_page(struct ubifs_info *c, struct page *page, in populate_page() argument
638 } else if (key_block(c, &bu->zbranch[nn].key) == page_block) { in populate_page()
652 err = ubifs_decompress(c, &dn->data, dlen, addr, &out_len, in populate_page()
662 } else if (key_block(c, &bu->zbranch[nn].key) < page_block) { in populate_page()
700 ubifs_err(c, "bad data node (block %u, inode %lu)", in populate_page()
713 static int ubifs_do_bulk_read(struct ubifs_info *c, struct bu_info *bu, in ubifs_do_bulk_read() argument
724 err = ubifs_tnc_get_bu_keys(c, bu); in ubifs_do_bulk_read()
755 ubifs_assert(bu->buf_len <= c->leb_size); in ubifs_do_bulk_read()
761 err = ubifs_tnc_bulk_read(c, bu); in ubifs_do_bulk_read()
766 err = populate_page(c, page1, bu, &n); in ubifs_do_bulk_read()
789 err = populate_page(c, page, bu, &n); in ubifs_do_bulk_read()
804 ubifs_warn(c, "ignoring error %d and skipping bulk-read", err); in ubifs_do_bulk_read()
824 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_bulk_read() local
831 if (!c->bulk_read) in ubifs_bulk_read()
861 if (mutex_trylock(&c->bu_mutex)) in ubifs_bulk_read()
862 bu = &c->bu; in ubifs_bulk_read()
872 bu->buf_len = c->max_bu_buf_len; in ubifs_bulk_read()
873 data_key_init(c, &bu->key, inode->i_ino, in ubifs_bulk_read()
875 err = ubifs_do_bulk_read(c, bu, page); in ubifs_bulk_read()
878 mutex_unlock(&c->bu_mutex); in ubifs_bulk_read()
903 struct ubifs_info *c = inode->i_sb->s_fs_info; in do_writepage() local
920 data_key_init(c, &key, inode->i_ino, block); in do_writepage()
921 err = ubifs_jnl_write_data(c, inode, &key, addr, blen); in do_writepage()
932 ubifs_err(c, "cannot write page %lu of inode %lu, error %d", in do_writepage()
934 ubifs_ro_mode(c, err); in do_writepage()
939 release_new_page_budget(c); in do_writepage()
941 release_existing_page_budget(c); in do_writepage()
943 atomic_long_dec(&c->dirty_pg_cnt); in do_writepage()
1104 static int do_truncation(struct ubifs_info *c, struct inode *inode, in do_truncation() argument
1127 err = ubifs_budget_space(c, &req); in do_truncation()
1187 err = ubifs_jnl_truncate(c, inode, old_size, new_size); in do_truncation()
1192 ubifs_release_budget(c, &req); in do_truncation()
1194 c->bi.nospace = c->bi.nospace_rp = 0; in do_truncation()
1210 static int do_setattr(struct ubifs_info *c, struct inode *inode, in do_setattr() argument
1219 err = ubifs_budget_space(c, &req); in do_setattr()
1250 ubifs_release_budget(c, &req); in do_setattr()
1260 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_setattr() local
1268 err = dbg_check_synced_i_size(c, inode); in ubifs_setattr()
1274 err = do_truncation(c, inode, attr); in ubifs_setattr()
1276 err = do_setattr(c, inode, attr); in ubifs_setattr()
1285 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_invalidatepage() local
1293 release_new_page_budget(c); in ubifs_invalidatepage()
1295 release_existing_page_budget(c); in ubifs_invalidatepage()
1297 atomic_long_dec(&c->dirty_pg_cnt); in ubifs_invalidatepage()
1305 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_fsync() local
1310 if (c->ro_mount) in ubifs_fsync()
1333 err = ubifs_sync_wbufs_by_inode(c, inode); in ubifs_fsync()
1368 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_update_time() local
1374 err = ubifs_budget_space(c, &req); in ubifs_update_time()
1393 ubifs_release_budget(c, &req); in ubifs_update_time()
1410 struct ubifs_info *c = inode->i_sb->s_fs_info; in update_mctime() local
1417 err = ubifs_budget_space(c, &req); in update_mctime()
1427 ubifs_release_budget(c, &req); in update_mctime()
1479 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_vm_page_mkwrite() local
1486 ubifs_assert(!c->ro_media && !c->ro_mount); in ubifs_vm_page_mkwrite()
1488 if (unlikely(c->ro_error)) in ubifs_vm_page_mkwrite()
1517 err = ubifs_budget_space(c, &req); in ubifs_vm_page_mkwrite()
1520 ubifs_warn(c, "out of space for mmapped file (inode number %lu)", in ubifs_vm_page_mkwrite()
1534 release_new_page_budget(c); in ubifs_vm_page_mkwrite()
1537 ubifs_convert_page_budget(c); in ubifs_vm_page_mkwrite()
1539 atomic_long_inc(&c->dirty_pg_cnt); in ubifs_vm_page_mkwrite()
1553 ubifs_release_dirty_inode_budget(c, ui); in ubifs_vm_page_mkwrite()
1561 ubifs_release_budget(c, &req); in ubifs_vm_page_mkwrite()