Lines Matching full:zones

3  * Simple file system for zoned block devices exposing zones as files.
73 * Sequential zones can only accept direct writes. This is already in zonefs_iomap_begin()
82 * For conventional zones, all blocks are always mapped. For sequential in zonefs_iomap_begin()
83 * zones, all blocks after always mapped below the inode size (zone in zonefs_iomap_begin()
210 * offline and readonly zones. Return the inode size corresponding to the
234 * The write pointer of read-only zones is invalid. If such a in zonefs_check_zone_condition()
312 * First handle bad zones signaled by hardware. The mount options in zonefs_io_error_cb()
394 * may prevent IO forward progress. Executing the report zones under in __zonefs_io_error()
455 * take care of open zones. in zonefs_file_truncate()
601 * Conventional zones accept random writes, so their files can support in zonefs_file_mmap()
621 * Seeks are limited to below the zone size for conventional zones in zonefs_file_llseek()
622 * and below the zone write pointer for sequential zones. In both in zonefs_file_llseek()
767 /* Enforce sequential writes (append only) in sequential zones */ in zonefs_file_dio_write()
886 /* Offline zones cannot be read */ in zonefs_file_read_iter()
1020 * Leaving zones explicitly open may lead to a state in zonefs_close_zone()
1021 * where most zones cannot be written (zone resources in zonefs_close_zone()
1300 struct blk_zone *zones; member
1340 end = zd->zones + blkdev_nr_zones(sb->s_bdev->bd_disk); in zonefs_create_zgroup()
1341 for (zone = &zd->zones[1]; zone < end; zone = next) { in zonefs_create_zgroup()
1348 * For conventional zones, contiguous zones can be aggregated in zonefs_create_zgroup()
1350 * length of the first zone of the set of contiguous zones in zonefs_create_zgroup()
1352 * found, assume that all zones aggregated have the same in zonefs_create_zgroup()
1405 * Count the number of usable zones: the first zone at index 0 contains in zonefs_get_zone_info_cb()
1425 memcpy(&zd->zones[idx], zone, sizeof(struct blk_zone)); in zonefs_get_zone_info_cb()
1435 zd->zones = kvcalloc(blkdev_nr_zones(bdev->bd_disk), in zonefs_get_zone_info()
1437 if (!zd->zones) in zonefs_get_zone_info()
1440 /* Get zones information from the device */ in zonefs_get_zone_info()
1449 zonefs_err(zd->sb, "Invalid zone report (%d/%u zones)\n", in zonefs_get_zone_info()
1459 kvfree(zd->zones); in zonefs_cleanup_zone_info()
1549 * Check that the device is zoned. If it is, get the list of zones and create
1599 zonefs_info(sb, "No open zones limit. Ignoring explicit_open mount option\n"); in zonefs_fill_super()
1617 zonefs_info(sb, "Mounting %u zones", in zonefs_fill_super()