Lines Matching defs:inode

26 static void *page_array_alloc(struct inode *inode, int nr)
28 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
33 GFP_F2FS_ZERO, false, F2FS_I_SB(inode));
37 static void page_array_free(struct inode *inode, void *pages, int nr)
39 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
91 struct inode *inode, pgoff_t index, void *data)
97 page->mapping = inode->i_mapping;
148 cc->rpages = page_array_alloc(cc->inode, cc->cluster_size);
154 page_array_free(cc->inode, cc->rpages, cc->cluster_size);
168 f2fs_bug_on(F2FS_I_SB(cc->inode), 1);
179 cc->private = f2fs_kvmalloc(F2FS_I_SB(cc->inode),
202 KERN_ERR, F2FS_I_SB(cc->inode)->sb->s_id, ret);
216 KERN_ERR, F2FS_I_SB(dic->inode)->sb->s_id, ret);
223 F2FS_I_SB(dic->inode)->sb->s_id,
245 if (F2FS_I(cc->inode)->i_compress_level)
249 cc->private = f2fs_kvmalloc(F2FS_I_SB(cc->inode), size, GFP_NOFS);
271 unsigned char level = F2FS_I(cc->inode)->i_compress_level;
298 KERN_ERR, F2FS_I_SB(dic->inode)->sb->s_id, ret);
305 F2FS_I_SB(dic->inode)->sb->s_id, ret,
337 unsigned char level = F2FS_I(cc->inode)->i_compress_level;
346 workspace = f2fs_kvmalloc(F2FS_I_SB(cc->inode),
354 KERN_ERR, F2FS_I_SB(cc->inode)->sb->s_id,
394 KERN_ERR, F2FS_I_SB(cc->inode)->sb->s_id,
402 KERN_ERR, F2FS_I_SB(cc->inode)->sb->s_id,
428 workspace = f2fs_kvmalloc(F2FS_I_SB(dic->inode),
436 KERN_ERR, F2FS_I_SB(dic->inode)->sb->s_id,
473 KERN_ERR, F2FS_I_SB(dic->inode)->sb->s_id,
481 F2FS_I_SB(dic->inode)->sb->s_id,
516 KERN_ERR, F2FS_I_SB(cc->inode)->sb->s_id, ret);
554 bool f2fs_is_compress_backend_ready(struct inode *inode)
556 if (!f2fs_compressed_file(inode))
558 return f2fs_cops[F2FS_I(inode)->i_compress_algorithm];
626 struct f2fs_inode_info *fi = F2FS_I(cc->inode);
633 trace_f2fs_compress_pages_start(cc->inode, cc->cluster_idx,
646 cc->cpages = page_array_alloc(cc->inode, cc->nr_cpages);
681 chksum = f2fs_crc32(F2FS_I_SB(cc->inode),
708 trace_f2fs_compress_pages_end(cc->inode, cc->cluster_idx,
721 page_array_free(cc->inode, cc->cpages, cc->nr_cpages);
727 trace_f2fs_compress_pages_end(cc->inode, cc->cluster_idx,
739 struct f2fs_sb_info *sbi = F2FS_I_SB(dic->inode);
740 struct f2fs_inode_info *fi = F2FS_I(dic->inode);
746 trace_f2fs_decompress_pages_start(dic->inode, dic->cluster_idx,
781 if (!is_inode_flag_set(dic->inode, FI_COMPRESS_CORRUPT)) {
782 set_inode_flag(dic->inode, FI_COMPRESS_CORRUPT);
785 KERN_INFO, sbi->sb->s_id, dic->inode->i_ino,
796 trace_f2fs_decompress_pages_end(dic->inode, dic->cluster_idx,
812 struct f2fs_sb_info *sbi = F2FS_I_SB(dic->inode);
820 dic->inode->i_ino, blkaddr);
878 loff_t i_size = i_size_read(cc->inode);
885 f2fs_bug_on(F2FS_I_SB(cc->inode), !page);
896 struct f2fs_sb_info *sbi = F2FS_I_SB(dn->inode);
897 unsigned int cluster_size = F2FS_I(dn->inode)->i_cluster_size;
913 block_t blkaddr = data_blkaddr(dn->inode, dn->node_page,
935 dn->inode->i_ino, dn->nid, dn->ofs_in_node, reason);
940 static int __f2fs_cluster_blocks(struct inode *inode,
944 unsigned int cluster_size = F2FS_I(inode)->i_cluster_size;
946 F2FS_I(inode)->i_log_cluster_size;
949 set_new_dnode(&dn, inode, NULL, NULL, 0);
959 f2fs_handle_error(F2FS_I_SB(inode), ERROR_CORRUPTED_CLUSTER);
970 blkaddr = data_blkaddr(dn.inode,
981 f2fs_bug_on(F2FS_I_SB(inode),
983 !is_inode_flag_set(inode, FI_COMPRESS_RELEASED));
993 return __f2fs_cluster_blocks(cc->inode, cc->cluster_idx, true);
997 int f2fs_is_compressed_cluster(struct inode *inode, pgoff_t index)
999 return __f2fs_cluster_blocks(inode,
1000 index >> F2FS_I(inode)->i_log_cluster_size,
1006 if (!f2fs_need_compress_data(cc->inode))
1008 if (f2fs_is_atomic_file(cc->inode))
1012 if (unlikely(f2fs_cp_error(F2FS_I_SB(cc->inode))))
1041 struct f2fs_sb_info *sbi = F2FS_I_SB(cc->inode);
1042 struct address_space *mapping = cc->inode->i_mapping;
1050 ret = f2fs_is_compressed_cluster(cc->inode, start_idx);
1125 int f2fs_prepare_compress_overwrite(struct inode *inode,
1129 .inode = inode,
1130 .log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
1131 .cluster_size = F2FS_I(inode)->i_cluster_size,
1132 .cluster_idx = index >> F2FS_I(inode)->i_log_cluster_size,
1140 bool f2fs_compress_write_end(struct inode *inode, void *fsdata,
1145 .inode = inode,
1146 .log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
1147 .cluster_size = F2FS_I(inode)->i_cluster_size,
1161 int f2fs_truncate_partial_cluster(struct inode *inode, u64 from, bool lock)
1165 int log_cluster_size = F2FS_I(inode)->i_log_cluster_size;
1170 err = f2fs_is_compressed_cluster(inode, start_idx);
1176 return f2fs_do_truncate_blocks(inode, from, lock);
1179 err = f2fs_prepare_compress_overwrite(inode, &pagep,
1183 f2fs_bug_on(F2FS_I_SB(inode), err == 0);
1190 int cluster_size = F2FS_I(inode)->i_cluster_size;
1205 f2fs_compress_write_end(inode, fsdata, start_idx, true);
1215 struct inode *inode = cc->inode;
1216 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
1217 struct f2fs_inode_info *fi = F2FS_I(inode);
1220 .ino = cc->inode->i_ino,
1231 .encrypted = fscrypt_inode_uses_fs_layer_crypto(cc->inode) ?
1241 bool quota_inode = IS_NOQUOTA(inode);
1260 set_new_dnode(&dn, cc->inode, NULL, NULL, 0);
1267 if (data_blkaddr(dn.inode, dn.node_page,
1285 cic->inode = inode;
1287 cic->rpages = page_array_alloc(cc->inode, cc->cluster_size);
1294 f2fs_set_compressed_page(cc->cpages[i], inode,
1298 fio.old_blkaddr = data_blkaddr(dn.inode, dn.node_page,
1302 f2fs_wait_on_block_writeback(inode, fio.old_blkaddr);
1357 inode_dec_dirty_pages(cc->inode);
1362 f2fs_i_compr_blocks_update(inode, fio.compr_blocks - 1, false);
1363 f2fs_i_compr_blocks_update(inode, cc->valid_nr_cpages, true);
1364 add_compr_block_stat(inode, cc->valid_nr_cpages);
1366 set_inode_flag(cc->inode, FI_APPEND_WRITE);
1380 page_array_free(cc->inode, cc->cpages, cc->nr_cpages);
1386 page_array_free(cc->inode, cic->rpages, cc->cluster_size);
1404 page_array_free(cc->inode, cc->cpages, cc->nr_cpages);
1419 mapping_set_error(cic->inode->i_mapping, -EIO);
1434 page_array_free(cic->inode, cic->rpages, cic->nr_rpages);
1443 struct address_space *mapping = cc->inode->i_mapping;
1503 if (IS_NOQUOTA(cc->inode))
1533 add_compr_block_stat(cc->inode, cc->cluster_size);
1544 f2fs_bug_on(F2FS_I_SB(cc->inode), err != -EAGAIN);
1547 f2fs_bug_on(F2FS_I_SB(cc->inode), *submitted);
1566 f2fs_cops[F2FS_I(dic->inode)->i_compress_algorithm];
1569 if (!allow_memalloc_for_decomp(F2FS_I_SB(dic->inode), pre_alloc))
1572 dic->tpages = page_array_alloc(dic->inode, dic->cluster_size);
1603 f2fs_cops[F2FS_I(dic->inode)->i_compress_algorithm];
1605 if (!allow_memalloc_for_decomp(F2FS_I_SB(dic->inode), pre_alloc))
1625 struct f2fs_sb_info *sbi = F2FS_I_SB(cc->inode);
1632 dic->rpages = page_array_alloc(cc->inode, cc->cluster_size);
1639 dic->inode = cc->inode;
1647 dic->need_verity = f2fs_need_verity(cc->inode, start_idx);
1653 dic->cpages = page_array_alloc(dic->inode, dic->nr_cpages);
1663 f2fs_set_compressed_page(page, cc->inode,
1694 page_array_free(dic->inode, dic->tpages, dic->cluster_size);
1703 page_array_free(dic->inode, dic->cpages, dic->nr_cpages);
1706 page_array_free(dic->inode, dic->rpages, dic->nr_rpages);
1725 queue_work(F2FS_I_SB(dic->inode)->post_read_wq,
1816 bool compressed = data_blkaddr(dn->inode, dn->node_page,
1819 block_t first_blkaddr = data_blkaddr(dn->inode, dn->node_page,
1822 for (i += 1; i < F2FS_I(dn->inode)->i_cluster_size; i++) {
1823 block_t blkaddr = data_blkaddr(dn->inode, dn->node_page,
1963 struct inode *inode;
1968 inode = f2fs_iget(sbi->sb, F2FS_COMPRESS_INO(sbi));
1969 if (IS_ERR(inode))
1970 return PTR_ERR(inode);
1971 sbi->compress_inode = inode;