Lines Matching defs:zinfo
226 struct btrfs_zoned_device_info *zinfo = device->zone_info;
239 if (zinfo->zone_cache) {
243 ASSERT(IS_ALIGNED(pos, zinfo->zone_size));
244 zno = pos >> zinfo->zone_size_shift;
249 *nr_zones = min_t(u32, *nr_zones, zinfo->nr_zones - zno);
254 zone_info = &zinfo->zone_cache[zno + i];
261 memcpy(zones, zinfo->zone_cache + zno,
262 sizeof(*zinfo->zone_cache) * *nr_zones);
281 if (zinfo->zone_cache) {
282 u32 zno = pos >> zinfo->zone_size_shift;
284 memcpy(zinfo->zone_cache + zno, zones,
285 sizeof(*zinfo->zone_cache) * *nr_zones);
918 struct btrfs_zoned_device_info *zinfo = device->zone_info;
932 zone_num = sb_zone_number(zinfo->zone_size_shift, mirror);
933 if (zone_num + 1 >= zinfo->nr_zones)
937 &zinfo->sb_zones[BTRFS_NR_SB_LOG_ZONES * mirror],
941 static inline bool is_sb_log_zone(struct btrfs_zoned_device_info *zinfo,
946 if (!zinfo)
949 zone_num = sb_zone_number(zinfo->zone_size_shift, mirror);
950 if (zone_num + 1 >= zinfo->nr_zones)
953 if (!test_bit(zone_num, zinfo->seq_zones))
961 struct btrfs_zoned_device_info *zinfo = device->zone_info;
965 if (!is_sb_log_zone(zinfo, mirror))
968 zone = &zinfo->sb_zones[BTRFS_NR_SB_LOG_ZONES * mirror];
1047 struct btrfs_zoned_device_info *zinfo = device->zone_info;
1048 const u8 shift = zinfo->zone_size_shift;
1055 ASSERT(IS_ALIGNED(hole_start, zinfo->zone_size));
1056 ASSERT(IS_ALIGNED(num_bytes, zinfo->zone_size));
1062 if (end > zinfo->nr_zones)
1067 !bitmap_test_range_all_set(zinfo->empty_zones, begin, nzones)) {
1068 pos += zinfo->zone_size;
1082 sb_zone + BTRFS_NR_SB_LOG_ZONES, zinfo);
1092 zinfo->zone_size);
1163 struct btrfs_zoned_device_info *zinfo = device->zone_info;
1164 const u8 shift = zinfo->zone_size_shift;
1170 ASSERT(IS_ALIGNED(start, zinfo->zone_size));
1171 ASSERT(IS_ALIGNED(size, zinfo->zone_size));
1173 if (begin + nbits > zinfo->nr_zones)
1177 if (bitmap_test_range_all_zero(zinfo->seq_zones, begin, nbits))
1181 if (bitmap_test_range_all_set(zinfo->seq_zones, begin, nbits) &&
1182 bitmap_test_range_all_set(zinfo->empty_zones, begin, nbits))
1185 for (pos = start; pos < start + size; pos += zinfo->zone_size) {
1199 ret = btrfs_reset_device_zone(device, pos, zinfo->zone_size,
1992 struct btrfs_zoned_device_info *zinfo;
1997 zinfo = device->zone_info;
1999 if (zinfo->max_active_zones == 0)
2003 reserved = zinfo->reserved_active_zones;
2008 if (atomic_read(&zinfo->active_zones_left) <= reserved) {
2019 zinfo->reserved_active_zones--;
2156 struct btrfs_zoned_device_info *zinfo = device->zone_info;
2158 if (zinfo->max_active_zones == 0)
2163 zinfo->zone_size >> SECTOR_SHIFT,
2170 zinfo->reserved_active_zones++;
2211 struct btrfs_zoned_device_info *zinfo = device->zone_info;
2217 if (!zinfo->max_active_zones) {
2223 reserved = zinfo->reserved_active_zones;
2227 ret = (atomic_read(&zinfo->active_zones_left) >= (1 + reserved));
2230 ret = (atomic_read(&zinfo->active_zones_left) >= (2 + reserved));