Lines Matching refs:inode

30 nilfs_mdt_insert_new_block(struct inode *inode, unsigned long block,  in nilfs_mdt_insert_new_block()  argument
32 void (*init_block)(struct inode *, in nilfs_mdt_insert_new_block() argument
35 struct nilfs_inode_info *ii = NILFS_I(inode); in nilfs_mdt_insert_new_block()
51 memset(kaddr + bh_offset(bh), 0, i_blocksize(inode)); in nilfs_mdt_insert_new_block()
53 init_block(inode, bh, kaddr); in nilfs_mdt_insert_new_block()
59 nilfs_mdt_mark_dirty(inode); in nilfs_mdt_insert_new_block()
61 trace_nilfs2_mdt_insert_new_block(inode, inode->i_ino, block); in nilfs_mdt_insert_new_block()
66 static int nilfs_mdt_create_block(struct inode *inode, unsigned long block, in nilfs_mdt_create_block() argument
68 void (*init_block)(struct inode *, in nilfs_mdt_create_block() argument
72 struct super_block *sb = inode->i_sb; in nilfs_mdt_create_block()
80 bh = nilfs_grab_buffer(inode, inode->i_mapping, block, 0); in nilfs_mdt_create_block()
93 err = nilfs_mdt_insert_new_block(inode, block, bh, init_block); in nilfs_mdt_create_block()
114 nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff, in nilfs_mdt_submit_block() argument
121 bh = nilfs_grab_buffer(inode, inode->i_mapping, blkoff, 0); in nilfs_mdt_submit_block()
142 ret = nilfs_bmap_lookup(NILFS_I(inode)->i_bmap, blkoff, &blknum); in nilfs_mdt_submit_block()
147 map_bh(bh, inode->i_sb, (sector_t)blknum); in nilfs_mdt_submit_block()
154 trace_nilfs2_mdt_submit_block(inode, inode->i_ino, blkoff, mode); in nilfs_mdt_submit_block()
167 static int nilfs_mdt_read_block(struct inode *inode, unsigned long block, in nilfs_mdt_read_block() argument
175 err = nilfs_mdt_submit_block(inode, block, REQ_OP_READ, 0, &first_bh); in nilfs_mdt_read_block()
185 err = nilfs_mdt_submit_block(inode, blkoff, REQ_OP_READ, in nilfs_mdt_read_block()
202 nilfs_err(inode->i_sb, in nilfs_mdt_read_block()
204 inode->i_ino, block); in nilfs_mdt_read_block()
241 int nilfs_mdt_get_block(struct inode *inode, unsigned long blkoff, int create, in nilfs_mdt_get_block() argument
242 void (*init_block)(struct inode *, in nilfs_mdt_get_block() argument
250 ret = nilfs_mdt_read_block(inode, blkoff, !create, out_bh); in nilfs_mdt_get_block()
254 ret = nilfs_mdt_create_block(inode, blkoff, out_bh, init_block); in nilfs_mdt_get_block()
284 int nilfs_mdt_find_block(struct inode *inode, unsigned long start, in nilfs_mdt_find_block() argument
294 ret = nilfs_mdt_read_block(inode, start, true, out_bh); in nilfs_mdt_find_block()
302 ret = nilfs_bmap_seek_key(NILFS_I(inode)->i_bmap, start + 1, &next); in nilfs_mdt_find_block()
305 ret = nilfs_mdt_read_block(inode, next, true, out_bh); in nilfs_mdt_find_block()
328 int nilfs_mdt_delete_block(struct inode *inode, unsigned long block) in nilfs_mdt_delete_block() argument
330 struct nilfs_inode_info *ii = NILFS_I(inode); in nilfs_mdt_delete_block()
335 nilfs_mdt_mark_dirty(inode); in nilfs_mdt_delete_block()
336 nilfs_mdt_forget_block(inode, block); in nilfs_mdt_delete_block()
356 int nilfs_mdt_forget_block(struct inode *inode, unsigned long block) in nilfs_mdt_forget_block() argument
359 (PAGE_SHIFT - inode->i_blkbits); in nilfs_mdt_forget_block()
365 page = find_lock_page(inode->i_mapping, index); in nilfs_mdt_forget_block()
372 (PAGE_SHIFT - inode->i_blkbits); in nilfs_mdt_forget_block()
384 invalidate_inode_pages2_range(inode->i_mapping, index, index) != 0) in nilfs_mdt_forget_block()
389 int nilfs_mdt_fetch_dirty(struct inode *inode) in nilfs_mdt_fetch_dirty() argument
391 struct nilfs_inode_info *ii = NILFS_I(inode); in nilfs_mdt_fetch_dirty()
403 struct inode *inode = page->mapping->host; in nilfs_mdt_write_page() local
407 if (inode && sb_rdonly(inode->i_sb)) { in nilfs_mdt_write_page()
422 if (!inode) in nilfs_mdt_write_page()
425 sb = inode->i_sb; in nilfs_mdt_write_page()
430 nilfs_flush_segment(sb, inode->i_ino); in nilfs_mdt_write_page()
444 int nilfs_mdt_init(struct inode *inode, gfp_t gfp_mask, size_t objsz) in nilfs_mdt_init() argument
453 inode->i_private = mi; in nilfs_mdt_init()
455 inode->i_mode = S_IFREG; in nilfs_mdt_init()
456 mapping_set_gfp_mask(inode->i_mapping, gfp_mask); in nilfs_mdt_init()
458 inode->i_op = &def_mdt_iops; in nilfs_mdt_init()
459 inode->i_fop = &def_mdt_fops; in nilfs_mdt_init()
460 inode->i_mapping->a_ops = &def_mdt_aops; in nilfs_mdt_init()
469 void nilfs_mdt_clear(struct inode *inode) in nilfs_mdt_clear() argument
471 struct nilfs_mdt_info *mdi = NILFS_MDT(inode); in nilfs_mdt_clear()
474 nilfs_palloc_destroy_cache(inode); in nilfs_mdt_clear()
481 void nilfs_mdt_destroy(struct inode *inode) in nilfs_mdt_destroy() argument
483 struct nilfs_mdt_info *mdi = NILFS_MDT(inode); in nilfs_mdt_destroy()
489 void nilfs_mdt_set_entry_size(struct inode *inode, unsigned int entry_size, in nilfs_mdt_set_entry_size() argument
492 struct nilfs_mdt_info *mi = NILFS_MDT(inode); in nilfs_mdt_set_entry_size()
495 mi->mi_entries_per_block = i_blocksize(inode) / entry_size; in nilfs_mdt_set_entry_size()
504 int nilfs_mdt_setup_shadow_map(struct inode *inode, in nilfs_mdt_setup_shadow_map() argument
507 struct nilfs_mdt_info *mi = NILFS_MDT(inode); in nilfs_mdt_setup_shadow_map()
511 nilfs_mapping_init(&shadow->frozen_data, inode); in nilfs_mdt_setup_shadow_map()
513 nilfs_mapping_init(&shadow->frozen_btnodes, inode); in nilfs_mdt_setup_shadow_map()
522 int nilfs_mdt_save_to_shadow_map(struct inode *inode) in nilfs_mdt_save_to_shadow_map() argument
524 struct nilfs_mdt_info *mi = NILFS_MDT(inode); in nilfs_mdt_save_to_shadow_map()
525 struct nilfs_inode_info *ii = NILFS_I(inode); in nilfs_mdt_save_to_shadow_map()
529 ret = nilfs_copy_dirty_pages(&shadow->frozen_data, inode->i_mapping); in nilfs_mdt_save_to_shadow_map()
543 int nilfs_mdt_freeze_buffer(struct inode *inode, struct buffer_head *bh) in nilfs_mdt_freeze_buffer() argument
545 struct nilfs_shadow_map *shadow = NILFS_MDT(inode)->mi_shadow; in nilfs_mdt_freeze_buffer()
548 int blkbits = inode->i_blkbits; in nilfs_mdt_freeze_buffer()
575 nilfs_mdt_get_frozen_buffer(struct inode *inode, struct buffer_head *bh) in nilfs_mdt_get_frozen_buffer() argument
577 struct nilfs_shadow_map *shadow = NILFS_MDT(inode)->mi_shadow; in nilfs_mdt_get_frozen_buffer()
585 n = bh_offset(bh) >> inode->i_blkbits; in nilfs_mdt_get_frozen_buffer()
611 void nilfs_mdt_restore_from_shadow_map(struct inode *inode) in nilfs_mdt_restore_from_shadow_map() argument
613 struct nilfs_mdt_info *mi = NILFS_MDT(inode); in nilfs_mdt_restore_from_shadow_map()
614 struct nilfs_inode_info *ii = NILFS_I(inode); in nilfs_mdt_restore_from_shadow_map()
620 nilfs_palloc_clear_cache(inode); in nilfs_mdt_restore_from_shadow_map()
622 nilfs_clear_dirty_pages(inode->i_mapping, true); in nilfs_mdt_restore_from_shadow_map()
623 nilfs_copy_back_pages(inode->i_mapping, &shadow->frozen_data); in nilfs_mdt_restore_from_shadow_map()
637 void nilfs_mdt_clear_shadow_map(struct inode *inode) in nilfs_mdt_clear_shadow_map() argument
639 struct nilfs_mdt_info *mi = NILFS_MDT(inode); in nilfs_mdt_clear_shadow_map()