Lines Matching full:z
51 struct zonefs_zone *z) in zonefs_account_active() argument
55 if (zonefs_zone_is_cnv(z)) in zonefs_account_active()
62 if (z->z_flags & (ZONEFS_ZONE_OFFLINE | ZONEFS_ZONE_READONLY)) in zonefs_account_active()
69 if ((z->z_flags & ZONEFS_ZONE_OPEN) || in zonefs_account_active()
70 (z->z_wpoffset > 0 && z->z_wpoffset < z->z_capacity)) { in zonefs_account_active()
71 if (!(z->z_flags & ZONEFS_ZONE_ACTIVE)) { in zonefs_account_active()
72 z->z_flags |= ZONEFS_ZONE_ACTIVE; in zonefs_account_active()
80 if (z->z_flags & ZONEFS_ZONE_ACTIVE) { in zonefs_account_active()
81 z->z_flags &= ~ZONEFS_ZONE_ACTIVE; in zonefs_account_active()
100 struct zonefs_zone *z, enum req_op op) in zonefs_zone_mgmt() argument
112 if (op == REQ_OP_ZONE_CLOSE && !z->z_wpoffset) in zonefs_zone_mgmt()
115 trace_zonefs_zone_mgmt(sb, z, op); in zonefs_zone_mgmt()
116 ret = blkdev_zone_mgmt(sb->s_bdev, op, z->z_sector, in zonefs_zone_mgmt()
117 z->z_size >> SECTOR_SHIFT); in zonefs_zone_mgmt()
121 blk_op_str(op), z->z_sector, ret); in zonefs_zone_mgmt()
137 struct zonefs_zone *z = zonefs_inode_zone(inode); in zonefs_i_size_write() local
145 if (isize >= z->z_capacity) { in zonefs_i_size_write()
148 if (z->z_flags & ZONEFS_ZONE_ACTIVE) in zonefs_i_size_write()
150 z->z_flags &= ~(ZONEFS_ZONE_OPEN | ZONEFS_ZONE_ACTIVE); in zonefs_i_size_write()
191 struct zonefs_zone *z, in zonefs_check_zone_condition() argument
197 z->z_sector); in zonefs_check_zone_condition()
198 z->z_flags |= ZONEFS_ZONE_OFFLINE; in zonefs_check_zone_condition()
210 z->z_sector); in zonefs_check_zone_condition()
211 z->z_flags |= ZONEFS_ZONE_READONLY; in zonefs_check_zone_condition()
212 if (zonefs_zone_is_cnv(z)) in zonefs_check_zone_condition()
213 return z->z_capacity; in zonefs_check_zone_condition()
214 return z->z_wpoffset; in zonefs_check_zone_condition()
217 return z->z_capacity; in zonefs_check_zone_condition()
219 if (zonefs_zone_is_cnv(z)) in zonefs_check_zone_condition()
220 return z->z_capacity; in zonefs_check_zone_condition()
231 struct zonefs_zone *z = zonefs_inode_zone(inode); in zonefs_inode_update_mode() local
233 if (z->z_flags & ZONEFS_ZONE_OFFLINE) { in zonefs_inode_update_mode()
237 } else if (z->z_flags & ZONEFS_ZONE_READONLY) { in zonefs_inode_update_mode()
240 if (z->z_flags & ZONEFS_ZONE_INIT_MODE) in zonefs_inode_update_mode()
246 z->z_flags &= ~ZONEFS_ZONE_INIT_MODE; in zonefs_inode_update_mode()
247 z->z_mode = inode->i_mode; in zonefs_inode_update_mode()
253 struct blk_zone *z = data; in zonefs_io_error_cb() local
255 *z = *zone; in zonefs_io_error_cb()
262 struct zonefs_zone *z = zonefs_inode_zone(inode); in zonefs_handle_io_error() local
273 data_size = zonefs_check_zone_condition(sb, z, zone); in zonefs_handle_io_error()
275 if (!(z->z_flags & (ZONEFS_ZONE_READONLY | ZONEFS_ZONE_OFFLINE)) && in zonefs_handle_io_error()
309 if ((z->z_flags & ZONEFS_ZONE_OFFLINE) || in zonefs_handle_io_error()
313 if (!(z->z_flags & ZONEFS_ZONE_OFFLINE)) in zonefs_handle_io_error()
314 z->z_flags |= ZONEFS_ZONE_OFFLINE; in zonefs_handle_io_error()
317 } else if ((z->z_flags & ZONEFS_ZONE_READONLY) || in zonefs_handle_io_error()
321 if (!(z->z_flags & ZONEFS_ZONE_READONLY)) in zonefs_handle_io_error()
322 z->z_flags |= ZONEFS_ZONE_READONLY; in zonefs_handle_io_error()
338 (z->z_flags & (ZONEFS_ZONE_READONLY | ZONEFS_ZONE_OFFLINE))) in zonefs_handle_io_error()
339 z->z_flags &= ~ZONEFS_ZONE_OPEN; in zonefs_handle_io_error()
356 z->z_wpoffset = data_size; in zonefs_handle_io_error()
369 struct zonefs_zone *z = zonefs_inode_zone(inode); in __zonefs_io_error() local
381 if (!zonefs_zone_is_seq(z)) { in __zonefs_io_error()
382 zone.start = z->z_sector; in __zonefs_io_error()
383 zone.len = z->z_size >> SECTOR_SHIFT; in __zonefs_io_error()
400 ret = blkdev_report_zones(sb->s_bdev, z->z_sector, 1, in __zonefs_io_error()
576 struct zonefs_zone *z = zonefs_inode_zone(inode); in zonefs_inode_setattr() local
578 z->z_mode = inode->i_mode; in zonefs_inode_setattr()
579 z->z_uid = inode->i_uid; in zonefs_inode_setattr()
580 z->z_gid = inode->i_gid; in zonefs_inode_setattr()
629 struct zonefs_zone *z; in zonefs_get_file_inode() local
642 z = &zgroup->g_zones[fno]; in zonefs_get_file_inode()
643 ino = z->z_sector >> sbi->s_zone_sectors_shift; in zonefs_get_file_inode()
648 WARN_ON_ONCE(inode->i_private != z); in zonefs_get_file_inode()
653 inode->i_mode = z->z_mode; in zonefs_get_file_inode()
656 inode->i_uid = z->z_uid; in zonefs_get_file_inode()
657 inode->i_gid = z->z_gid; in zonefs_get_file_inode()
658 inode->i_size = z->z_wpoffset; in zonefs_get_file_inode()
659 inode->i_blocks = z->z_capacity >> SECTOR_SHIFT; in zonefs_get_file_inode()
660 inode->i_private = z; in zonefs_get_file_inode()
790 struct zonefs_zone *z; in zonefs_readdir_zgroup() local
812 z = &zgroup->g_zones[f]; in zonefs_readdir_zgroup()
813 ino = z->z_sector >> sbi->s_zone_sectors_shift; in zonefs_readdir_zgroup()
943 struct zonefs_zone *z; in zonefs_init_zgroup() local
994 z = &zgroup->g_zones[n]; in zonefs_init_zgroup()
996 z->z_flags |= ZONEFS_ZONE_CNV; in zonefs_init_zgroup()
997 z->z_sector = zone->start; in zonefs_init_zgroup()
998 z->z_size = zone->len << SECTOR_SHIFT; in zonefs_init_zgroup()
999 if (z->z_size > bdev_zone_sectors(sb->s_bdev) << SECTOR_SHIFT && in zonefs_init_zgroup()
1003 z->z_size, in zonefs_init_zgroup()
1008 z->z_capacity = min_t(loff_t, MAX_LFS_FILESIZE, in zonefs_init_zgroup()
1010 z->z_wpoffset = zonefs_check_zone_condition(sb, z, zone); in zonefs_init_zgroup()
1012 z->z_mode = S_IFREG | sbi->s_perm; in zonefs_init_zgroup()
1013 z->z_uid = sbi->s_uid; in zonefs_init_zgroup()
1014 z->z_gid = sbi->s_gid; in zonefs_init_zgroup()
1021 z->z_flags |= ZONEFS_ZONE_INIT_MODE; in zonefs_init_zgroup()
1023 sb->s_maxbytes = max(z->z_capacity, sb->s_maxbytes); in zonefs_init_zgroup()
1024 sbi->s_blocks += z->z_capacity >> sb->s_blocksize_bits; in zonefs_init_zgroup()
1025 sbi->s_used_blocks += z->z_wpoffset >> sb->s_blocksize_bits; in zonefs_init_zgroup()
1036 ret = zonefs_zone_mgmt(sb, z, REQ_OP_ZONE_CLOSE); in zonefs_init_zgroup()
1041 zonefs_account_active(sb, z); in zonefs_init_zgroup()