Lines Matching refs:zi

33 	struct zonefs_inode_info *zi = ZONEFS_I(inode);  in zonefs_zone_mgmt()  local
36 lockdep_assert_held(&zi->i_truncate_mutex); in zonefs_zone_mgmt()
39 ret = blkdev_zone_mgmt(inode->i_sb->s_bdev, op, zi->i_zsector, in zonefs_zone_mgmt()
40 zi->i_zone_size >> SECTOR_SHIFT, GFP_NOFS); in zonefs_zone_mgmt()
44 blk_op_str(op), zi->i_zsector, ret); in zonefs_zone_mgmt()
53 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_i_size_write() local
60 if (isize >= zi->i_max_size) in zonefs_i_size_write()
61 zi->i_flags &= ~ZONEFS_ZONE_OPEN; in zonefs_i_size_write()
68 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_iomap_begin() local
73 if (WARN_ON_ONCE(offset + length > zi->i_max_size)) in zonefs_iomap_begin()
81 if (WARN_ON_ONCE(zi->i_ztype == ZONEFS_ZTYPE_SEQ && in zonefs_iomap_begin()
90 mutex_lock(&zi->i_truncate_mutex); in zonefs_iomap_begin()
97 length = zi->i_max_size - offset; in zonefs_iomap_begin()
100 mutex_unlock(&zi->i_truncate_mutex); in zonefs_iomap_begin()
105 iomap->addr = (zi->i_zsector << SECTOR_SHIFT) + iomap->offset; in zonefs_iomap_begin()
133 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_map_blocks() local
135 if (WARN_ON_ONCE(zi->i_ztype != ZONEFS_ZTYPE_CNV)) in zonefs_map_blocks()
145 return zonefs_iomap_begin(inode, offset, zi->i_max_size - offset, in zonefs_map_blocks()
172 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_swap_activate() local
174 if (zi->i_ztype != ZONEFS_ZTYPE_CNV) { in zonefs_swap_activate()
239 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_check_zone_condition() local
277 return zi->i_max_size; in zonefs_check_zone_condition()
279 if (zi->i_ztype == ZONEFS_ZTYPE_CNV) in zonefs_check_zone_condition()
280 return zi->i_max_size; in zonefs_check_zone_condition()
295 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_io_error_cb() local
332 if (zi->i_ztype == ZONEFS_ZTYPE_SEQ && isize != data_size) in zonefs_io_error_cb()
371 zi->i_flags &= ~ZONEFS_ZONE_OPEN; in zonefs_io_error_cb()
388 zi->i_wpoffset = data_size; in zonefs_io_error_cb()
402 struct zonefs_inode_info *zi = ZONEFS_I(inode); in __zonefs_io_error() local
407 zi->i_zone_size >> (sbi->s_zone_sectors_shift + SECTOR_SHIFT); in __zonefs_io_error()
423 ret = blkdev_report_zones(sb->s_bdev, zi->i_zsector, nr_zones, in __zonefs_io_error()
433 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_io_error() local
435 mutex_lock(&zi->i_truncate_mutex); in zonefs_io_error()
437 mutex_unlock(&zi->i_truncate_mutex); in zonefs_io_error()
442 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_file_truncate() local
452 if (zi->i_ztype != ZONEFS_ZTYPE_SEQ) in zonefs_file_truncate()
457 else if (isize == zi->i_max_size) in zonefs_file_truncate()
468 mutex_lock(&zi->i_truncate_mutex); in zonefs_file_truncate()
482 if (zi->i_flags & ZONEFS_ZONE_OPEN) { in zonefs_file_truncate()
494 zi->i_flags &= ~ZONEFS_ZONE_OPEN; in zonefs_file_truncate()
499 zi->i_wpoffset = isize; in zonefs_file_truncate()
502 mutex_unlock(&zi->i_truncate_mutex); in zonefs_file_truncate()
581 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_filemap_page_mkwrite() local
591 if (WARN_ON_ONCE(zi->i_ztype != ZONEFS_ZTYPE_CNV)) in zonefs_filemap_page_mkwrite()
646 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_file_write_dio_end_io() local
653 if (size && zi->i_ztype != ZONEFS_ZTYPE_CNV) { in zonefs_file_write_dio_end_io()
661 mutex_lock(&zi->i_truncate_mutex); in zonefs_file_write_dio_end_io()
666 mutex_unlock(&zi->i_truncate_mutex); in zonefs_file_write_dio_end_io()
679 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_file_dio_append() local
697 bio->bi_iter.bi_sector = zi->i_zsector; in zonefs_file_dio_append()
739 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_write_check_limits() local
741 loff_t max_size = zi->i_max_size; in zonefs_write_check_limits()
764 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_write_checks() local
777 if (zi->i_ztype != ZONEFS_ZTYPE_SEQ) in zonefs_write_checks()
779 mutex_lock(&zi->i_truncate_mutex); in zonefs_write_checks()
780 iocb->ki_pos = zi->i_wpoffset; in zonefs_write_checks()
781 mutex_unlock(&zi->i_truncate_mutex); in zonefs_write_checks()
806 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_file_dio_write() local
817 if (zi->i_ztype == ZONEFS_ZTYPE_SEQ && !sync && in zonefs_file_dio_write()
840 if (zi->i_ztype == ZONEFS_ZTYPE_SEQ) { in zonefs_file_dio_write()
841 mutex_lock(&zi->i_truncate_mutex); in zonefs_file_dio_write()
842 if (iocb->ki_pos != zi->i_wpoffset) { in zonefs_file_dio_write()
843 mutex_unlock(&zi->i_truncate_mutex); in zonefs_file_dio_write()
847 mutex_unlock(&zi->i_truncate_mutex); in zonefs_file_dio_write()
856 if (zi->i_ztype == ZONEFS_ZTYPE_SEQ && in zonefs_file_dio_write()
860 mutex_lock(&zi->i_truncate_mutex); in zonefs_file_dio_write()
861 zi->i_wpoffset += count; in zonefs_file_dio_write()
862 mutex_unlock(&zi->i_truncate_mutex); in zonefs_file_dio_write()
875 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_file_buffered_write() local
882 if (zi->i_ztype != ZONEFS_ZTYPE_CNV) in zonefs_file_buffered_write()
951 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_file_read_iter() local
960 if (iocb->ki_pos >= zi->i_max_size) in zonefs_file_read_iter()
971 mutex_lock(&zi->i_truncate_mutex); in zonefs_file_read_iter()
974 mutex_unlock(&zi->i_truncate_mutex); in zonefs_file_read_iter()
979 mutex_unlock(&zi->i_truncate_mutex); in zonefs_file_read_iter()
1005 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_file_use_exp_open() local
1011 if (zi->i_ztype != ZONEFS_ZTYPE_SEQ) in zonefs_file_use_exp_open()
1022 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_open_zone() local
1026 mutex_lock(&zi->i_truncate_mutex); in zonefs_open_zone()
1028 if (!zi->i_wr_refcnt) { in zonefs_open_zone()
1035 if (i_size_read(inode) < zi->i_max_size) { in zonefs_open_zone()
1041 zi->i_flags |= ZONEFS_ZONE_OPEN; in zonefs_open_zone()
1045 zi->i_wr_refcnt++; in zonefs_open_zone()
1048 mutex_unlock(&zi->i_truncate_mutex); in zonefs_open_zone()
1069 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_close_zone() local
1072 mutex_lock(&zi->i_truncate_mutex); in zonefs_close_zone()
1073 zi->i_wr_refcnt--; in zonefs_close_zone()
1074 if (!zi->i_wr_refcnt) { in zonefs_close_zone()
1082 if (!(zi->i_flags & ZONEFS_ZONE_OPEN)) in zonefs_close_zone()
1094 if (zi->i_flags & ZONEFS_ZONE_OPEN && in zonefs_close_zone()
1100 zi->i_flags &= ~ZONEFS_ZONE_OPEN; in zonefs_close_zone()
1104 mutex_unlock(&zi->i_truncate_mutex); in zonefs_close_zone()
1138 struct zonefs_inode_info *zi; in zonefs_alloc_inode() local
1140 zi = kmem_cache_alloc(zonefs_inode_cachep, GFP_KERNEL); in zonefs_alloc_inode()
1141 if (!zi) in zonefs_alloc_inode()
1144 inode_init_once(&zi->i_vnode); in zonefs_alloc_inode()
1145 mutex_init(&zi->i_truncate_mutex); in zonefs_alloc_inode()
1146 zi->i_wr_refcnt = 0; in zonefs_alloc_inode()
1148 return &zi->i_vnode; in zonefs_alloc_inode()
1303 struct zonefs_inode_info *zi = ZONEFS_I(inode); in zonefs_init_file_inode() local
1308 zi->i_ztype = type; in zonefs_init_file_inode()
1309 zi->i_zsector = zone->start; in zonefs_init_file_inode()
1310 zi->i_zone_size = zone->len << SECTOR_SHIFT; in zonefs_init_file_inode()
1312 zi->i_max_size = min_t(loff_t, MAX_LFS_FILESIZE, in zonefs_init_file_inode()
1314 zi->i_wpoffset = zonefs_check_zone_condition(inode, zone, true, true); in zonefs_init_file_inode()
1318 inode->i_size = zi->i_wpoffset; in zonefs_init_file_inode()
1319 inode->i_blocks = zi->i_max_size >> SECTOR_SHIFT; in zonefs_init_file_inode()
1325 sb->s_maxbytes = max(zi->i_max_size, sb->s_maxbytes); in zonefs_init_file_inode()
1326 sbi->s_blocks += zi->i_max_size >> sb->s_blocksize_bits; in zonefs_init_file_inode()
1327 sbi->s_used_blocks += zi->i_wpoffset >> sb->s_blocksize_bits; in zonefs_init_file_inode()