Lines Matching refs:zd
1371 static int zonefs_create_zgroup(struct zonefs_zone_data *zd, in zonefs_create_zgroup() argument
1374 struct super_block *sb = zd->sb; in zonefs_create_zgroup()
1384 if (!zd->nr_zones[type]) in zonefs_create_zgroup()
1405 end = zd->zones + blkdev_nr_zones(sb->s_bdev->bd_disk); in zonefs_create_zgroup()
1406 for (zone = &zd->zones[1]; zone < end; zone = next) { in zonefs_create_zgroup()
1467 struct zonefs_zone_data *zd = data; in zonefs_get_zone_info_cb() local
1477 zd->nr_zones[ZONEFS_ZTYPE_CNV]++; in zonefs_get_zone_info_cb()
1482 zd->nr_zones[ZONEFS_ZTYPE_SEQ]++; in zonefs_get_zone_info_cb()
1485 zonefs_err(zd->sb, "Unsupported zone type 0x%x\n", in zonefs_get_zone_info_cb()
1490 memcpy(&zd->zones[idx], zone, sizeof(struct blk_zone)); in zonefs_get_zone_info_cb()
1495 static int zonefs_get_zone_info(struct zonefs_zone_data *zd) in zonefs_get_zone_info() argument
1497 struct block_device *bdev = zd->sb->s_bdev; in zonefs_get_zone_info()
1500 zd->zones = kvcalloc(blkdev_nr_zones(bdev->bd_disk), in zonefs_get_zone_info()
1502 if (!zd->zones) in zonefs_get_zone_info()
1507 zonefs_get_zone_info_cb, zd); in zonefs_get_zone_info()
1509 zonefs_err(zd->sb, "Zone report failed %d\n", ret); in zonefs_get_zone_info()
1514 zonefs_err(zd->sb, "Invalid zone report (%d/%u zones)\n", in zonefs_get_zone_info()
1522 static inline void zonefs_cleanup_zone_info(struct zonefs_zone_data *zd) in zonefs_cleanup_zone_info() argument
1524 kvfree(zd->zones); in zonefs_cleanup_zone_info()
1620 struct zonefs_zone_data zd; in zonefs_fill_super() local
1675 memset(&zd, 0, sizeof(struct zonefs_zone_data)); in zonefs_fill_super()
1676 zd.sb = sb; in zonefs_fill_super()
1677 ret = zonefs_get_zone_info(&zd); in zonefs_fill_super()
1703 ret = zonefs_create_zgroup(&zd, t); in zonefs_fill_super()
1709 zonefs_cleanup_zone_info(&zd); in zonefs_fill_super()