Lines Matching refs:sbi
23 int reserve_new_block(struct f2fs_sb_info *sbi, block_t *to,
26 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
35 if (fsck->chk.valid_blk_cnt >= sbi->user_block_count) {
40 sbi->total_valid_node_count) {
45 if (sbi->total_valid_block_count >=
46 sbi->user_block_count) {
50 if (is_node && sbi->total_valid_node_count >=
51 sbi->total_node_count) {
58 blkaddr = SM_I(sbi)->main_blkaddr;
60 if (sbi->raw_super->feature & cpu_to_le32(F2FS_FEATURE_RO)) {
63 blkaddr = __end_block_addr(sbi);
67 blkaddr = SM_I(sbi)->main_blkaddr;
72 if (find_next_free_block(sbi, &blkaddr, left, type, false)) {
77 se = get_seg_entry(sbi, GET_SEGNO(sbi, blkaddr));
78 offset = OFFSET_IN_SEG(sbi, blkaddr);
82 if (need_fsync_data_record(sbi)) {
88 f2fs_set_main_bitmap(sbi, blkaddr, type);
89 f2fs_set_sit_bitmap(sbi, blkaddr);
93 sbi->total_valid_block_count++;
95 sbi->total_valid_node_count++;
97 sbi->total_valid_inode_count++;
112 update_sum_entry(sbi, *to, sum);
117 int new_data_block(struct f2fs_sb_info *sbi, void *block,
120 struct f2fs_super_block *sb = F2FS_RAW_SUPER(sbi);
133 get_node_info(sbi, dn->nid, &ni);
137 ret = reserve_new_block(sbi, &dn->data_blkaddr, &sum, type, 0);
161 get_node_info(qf->sbi, qf->ino, &ni);
170 u64 f2fs_read(struct f2fs_sb_info *sbi, nid_t ino, u8 *buffer,
193 get_node_info(sbi, ino, &ni);
210 get_dnode_of_data(sbi, &dn, F2FS_BYTES_TO_BLK(offset),
216 remained_blkentries = ADDRS_PER_PAGE(sbi,
260 static u64 f2fs_write_ex(struct f2fs_sb_info *sbi, nid_t ino, u8 *buffer,
295 get_node_info(sbi, ino, &ni);
305 err = get_dnode_of_data(sbi, &dn,
313 remained_blkentries = ADDRS_PER_PAGE(sbi,
332 err = new_data_block(sbi, blk_buffer,
380 u64 f2fs_write(struct f2fs_sb_info *sbi, nid_t ino, u8 *buffer,
383 return f2fs_write_ex(sbi, ino, buffer, count, offset, WR_NORMAL);
386 u64 f2fs_write_compress_data(struct f2fs_sb_info *sbi, nid_t ino, u8 *buffer,
389 return f2fs_write_ex(sbi, ino, buffer, count, offset, WR_COMPRESS_DATA);
392 u64 f2fs_write_addrtag(struct f2fs_sb_info *sbi, nid_t ino, pgoff_t offset,
397 return f2fs_write_ex(sbi, ino, NULL, F2FS_BLKSIZE, offset, addrtag);
401 void f2fs_filesize_update(struct f2fs_sb_info *sbi, nid_t ino, u64 filesize)
408 get_node_info(sbi, ino, &ni);
448 u64 f2fs_fix_mutable(struct f2fs_sb_info *sbi, nid_t ino, pgoff_t offset,
458 wlen = f2fs_write_addrtag(sbi, ino,
489 static void update_largest_extent(struct f2fs_sb_info *sbi, nid_t ino)
508 get_node_info(sbi, ino, &ni);
520 get_dnode_of_data(sbi, &dn, cur_blk, LOOKUP_NODE);
525 remained_blkentries = ADDRS_PER_PAGE(sbi,
568 int f2fs_build_file(struct f2fs_sb_info *sbi, struct dentry *de)
582 found_hardlink = f2fs_search_hardlink(sbi, de);
600 get_node_info(sbi, de->ino, &ni);
633 get_node_info(sbi, de->ino, &ni);
655 wlen = f2fs_write(sbi, de->ino, rbuf, n, off);
658 wlen = f2fs_write_addrtag(sbi, de->ino, off,
661 wlen = f2fs_write_compress_data(sbi, de->ino,
669 wlen = f2fs_fix_mutable(sbi, de->ino,
682 get_node_info(sbi, de->ino, &ni);
694 sbi->total_valid_block_count += cblocks;
695 if (sbi->total_valid_block_count >=
696 sbi->user_block_count) {
704 f2fs_write(sbi, de->ino, buffer, n, off);
714 update_largest_extent(sbi, de->ino);
715 update_free_segments(sbi);