Lines Matching refs:zd
1466 static int zonefs_create_zgroup(struct zonefs_zone_data *zd, in zonefs_create_zgroup() argument
1469 struct super_block *sb = zd->sb; in zonefs_create_zgroup()
1479 if (!zd->nr_zones[type]) in zonefs_create_zgroup()
1500 end = zd->zones + blkdev_nr_zones(sb->s_bdev->bd_disk); in zonefs_create_zgroup()
1501 for (zone = &zd->zones[1]; zone < end; zone = next) { in zonefs_create_zgroup()
1563 struct zonefs_zone_data *zd = data; in zonefs_get_zone_info_cb() local
1573 zd->nr_zones[ZONEFS_ZTYPE_CNV]++; in zonefs_get_zone_info_cb()
1578 zd->nr_zones[ZONEFS_ZTYPE_SEQ]++; in zonefs_get_zone_info_cb()
1581 zonefs_err(zd->sb, "Unsupported zone type 0x%x\n", in zonefs_get_zone_info_cb()
1586 memcpy(&zd->zones[idx], zone, sizeof(struct blk_zone)); in zonefs_get_zone_info_cb()
1591 static int zonefs_get_zone_info(struct zonefs_zone_data *zd) in zonefs_get_zone_info() argument
1593 struct block_device *bdev = zd->sb->s_bdev; in zonefs_get_zone_info()
1596 zd->zones = kvcalloc(blkdev_nr_zones(bdev->bd_disk), in zonefs_get_zone_info()
1598 if (!zd->zones) in zonefs_get_zone_info()
1603 zonefs_get_zone_info_cb, zd); in zonefs_get_zone_info()
1605 zonefs_err(zd->sb, "Zone report failed %d\n", ret); in zonefs_get_zone_info()
1610 zonefs_err(zd->sb, "Invalid zone report (%d/%u zones)\n", in zonefs_get_zone_info()
1618 static inline void zonefs_cleanup_zone_info(struct zonefs_zone_data *zd) in zonefs_cleanup_zone_info() argument
1620 kvfree(zd->zones); in zonefs_cleanup_zone_info()
1716 struct zonefs_zone_data zd; in zonefs_fill_super() local
1767 memset(&zd, 0, sizeof(struct zonefs_zone_data)); in zonefs_fill_super()
1768 zd.sb = sb; in zonefs_fill_super()
1769 ret = zonefs_get_zone_info(&zd); in zonefs_fill_super()
1801 ret = zonefs_create_zgroup(&zd, t); in zonefs_fill_super()
1807 zonefs_cleanup_zone_info(&zd); in zonefs_fill_super()