Lines Matching defs:inode
188 void f2fs_abort_atomic_write(struct inode *inode, bool clean)
190 struct f2fs_inode_info *fi = F2FS_I(inode);
192 if (!f2fs_is_atomic_file(inode))
195 release_atomic_write_cnt(inode);
196 clear_inode_flag(inode, FI_ATOMIC_COMMITTED);
197 clear_inode_flag(inode, FI_ATOMIC_REPLACE);
198 clear_inode_flag(inode, FI_ATOMIC_FILE);
199 stat_dec_atomic_inode(inode);
201 F2FS_I(inode)->atomic_write_task = NULL;
204 truncate_inode_pages_final(inode->i_mapping);
205 f2fs_i_size_write(inode, fi->original_i_size);
208 /* avoid stale dirty inode during eviction */
209 sync_inode_metadata(inode, 0);
212 static int __replace_atomic_write_block(struct inode *inode, pgoff_t index,
215 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
221 set_new_dnode(&dn, inode, NULL, NULL, 0);
241 dec_valid_block_count(sbi, inode, 1);
251 err = inc_valid_block_count(sbi, inode, &count, true);
259 dec_valid_block_count(sbi, F2FS_I(inode)->cow_inode, count);
267 trace_f2fs_replace_atomic_write_block(inode, F2FS_I(inode)->cow_inode,
272 static void __complete_revoke_list(struct inode *inode, struct list_head *head,
277 bool truncate = is_inode_flag_set(inode, FI_ATOMIC_REPLACE);
281 __replace_atomic_write_block(inode, cur->index,
284 f2fs_truncate_hole(inode, start_index, cur->index);
293 f2fs_do_truncate_blocks(inode, start_index * PAGE_SIZE, false);
296 static int __f2fs_commit_atomic_write(struct inode *inode)
298 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
299 struct f2fs_inode_info *fi = F2FS_I(inode);
300 struct inode *cow_inode = fi->cow_inode;
305 pgoff_t len = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE);
345 ret = __replace_atomic_write_block(inode, index, blkaddr,
368 set_inode_flag(inode, FI_ATOMIC_COMMITTED);
371 __complete_revoke_list(inode, &revoke_list, ret ? true : false);
376 int f2fs_commit_atomic_write(struct inode *inode)
378 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
379 struct f2fs_inode_info *fi = F2FS_I(inode);
382 err = filemap_write_and_wait_range(inode->i_mapping, 0, LLONG_MAX);
389 err = __f2fs_commit_atomic_write(inode);
3303 struct inode *inode = fio->page->mapping->host;
3305 if (S_ISDIR(inode->i_mode))
3317 static int __get_age_segment_type(struct inode *inode, pgoff_t pgofs)
3319 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
3322 if (f2fs_lookup_age_extent_cache(inode, pgofs, &ei)) {
3337 struct inode *inode = fio->page->mapping->host;
3340 if (is_inode_flag_set(inode, FI_ALIGNED_WRITE))
3351 if (file_is_cold(inode) || f2fs_need_compress_data(inode))
3354 type = __get_age_segment_type(inode, fio->page->index);
3358 if (file_is_hot(inode) ||
3359 is_inode_flag_set(inode, FI_HOT_DATA) ||
3360 f2fs_is_cow_file(inode))
3362 return f2fs_rw_hint_to_seg_type(inode->i_write_hint);
3624 f2fs_update_iostat(sbi, dn->inode, fio->io_type, F2FS_BLKSIZE);
3814 void f2fs_wait_on_block_writeback(struct inode *inode, block_t blkaddr)
3816 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
3819 if (!f2fs_post_read_required(inode))
3832 void f2fs_wait_on_block_writeback_range(struct inode *inode, block_t blkaddr,
3835 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
3838 if (!f2fs_post_read_required(inode))
3842 f2fs_wait_on_block_writeback(inode, blkaddr + i);