/openbmc/qemu/docs/devel/ |
H A D | zoned-storage.rst | 2 zoned-storage 10 https://zonedstorage.io/docs/introduction/zoned-storage 12 1. Block layer APIs for zoned storage 14 QEMU block layer supports three zoned storage models: 15 - BLK_Z_HM: The host-managed zoned model only allows sequential writes access 18 - BLK_Z_HA: The host-aware zoned model allows random write operations in 20 - BLK_Z_NONE: The non-zoned model has no zones support. It includes both 28 zoned storage information can be propagated from the leaf BlockDriverState all 29 the way up to the BlockBackend. If the zoned storage model in file-posix is 30 set to BLK_Z_HM, then block drivers will declare support for zoned host device. [all …]
|
H A D | index-api.rst | 19 zoned-storage
|
/openbmc/linux/Documentation/admin-guide/device-mapper/ |
H A D | dm-zoned.rst | 2 dm-zoned 5 The dm-zoned device mapper target exposes a zoned block device (ZBC and 7 pattern constraints. In effect, it implements a drive-managed zoned 10 host-managed zoned block devices and can mitigate the potential 12 host-aware zoned block devices. 14 For a more detailed description of the zoned block device models and 23 The dm-zoned implementation is simple and minimizes system overhead (CPU 25 host-managed disk with 256 MB zones, dm-zoned memory usage per disk 29 dm-zoned target devices are formatted and checked using the dmzadm 32 https://github.com/hgst/dm-zoned-tools [all …]
|
H A D | index.rst | 25 dm-zoned
|
/openbmc/linux/Documentation/block/ |
H A D | null_blk.rst | 137 zoned=[0/1]: Default: 0 138 Device is a random-access or a zoned block device. 142 1 Block device is exposed as a host-managed zoned block device. Requires 147 Per zone size when exposed as a zoned block device. Must be a power of two. 150 The number of conventional zones to create when block device is zoned. If
|
/openbmc/linux/drivers/md/ |
H A D | Makefile | 28 dm-zoned-y += dm-zoned-target.o dm-zoned-metadata.o dm-zoned-reclaim.o 84 obj-$(CONFIG_DM_ZONED) += dm-zoned.o
|
/openbmc/openbmc/poky/meta/recipes-devtools/btrfs-tools/ |
H A D | btrfs-tools_6.12.bb | 33 PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned"
|
/openbmc/linux/block/ |
H A D | blk-settings.c | 59 lim->zoned = BLK_ZONED_NONE; in blk_set_default_limits() 688 t->zoned = max(t->zoned, b->zoned); in blk_stack_limits() 689 if (!t->zoned) { in blk_stack_limits() 925 unsigned int old_model = q->limits.zoned; in disk_set_zoned() 955 q->limits.zoned = model; in disk_set_zoned()
|
H A D | Makefile | 33 obj-$(CONFIG_BLK_DEV_ZONED) += blk-zoned.o 36 obj-$(CONFIG_BLK_DEBUG_FS_ZONED)+= blk-mq-debugfs-zoned.o
|
/openbmc/qemu/docs/system/devices/ |
H A D | nvme.rst | 189 ``zoned=on`` on an ``nvme-ns`` device to configure it as a zoned namespace. 193 ``zoned.zone_size=SIZE`` (default: ``128MiB``) 196 ``zoned.zone_capacity=SIZE`` (default: ``0``) 200 ``zoned.descr_ext_size=UINT32`` (default: ``0``) 204 ``zoned.cross_read=BOOL`` (default: ``off``) 207 ``zoned.max_active=UINT32`` (default: ``0``) 211 ``zoned.max_open=UINT32`` (default: ``0``) 213 allows all zones to be open. If ``zoned.max_active`` is specified, this value 216 ``zoned.zasl=UINT8`` (default: ``0``)
|
/openbmc/linux/Documentation/filesystems/ |
H A D | zonefs.rst | 10 zonefs is a very simple file system exposing each zone of a zoned block device 11 as a file. Unlike a regular POSIX-compliant file system with native zoned block 13 constraint of zoned block devices to the user. Files representing sequential 19 the implementation of zoned block device support in applications by replacing 23 tree structures (such as used in RocksDB and LevelDB) on zoned block devices 48 technologies. The most common form of zoned storage today uses the SCSI Zoned 52 Solid State Disks (SSD) storage devices can also implement a zoned interface 55 committee aiming at adding a zoned storage interface to the NVMe protocol. 60 Zonefs exposes the zones of a zoned block device as files. The files 149 write feature for zoned block device (ELEVATOR_F_ZBD_SEQ_WRITE elevator feature) [all …]
|
/openbmc/linux/Documentation/ABI/stable/ |
H A D | sysfs-block | 162 segment. For a zoned block device, either host-aware or 387 [RO] For zoned block devices (zoned attribute indicating 426 [RO] For zoned block devices (zoned attribute indicating 506 [RO] nr_zones indicates the total number of zones of a zoned 679 a sequential zone of a zoned block device using a zone append 689 write operations in sequential zones of zoned block devices 690 (devices with a zoned attributed that reports "host-managed" or 694 What: /sys/block/<disk>/queue/zoned 698 [RO] zoned indicates if the device is a zoned block device and 699 the zone model of the device if it is indeed zoned. The [all …]
|
/openbmc/linux/drivers/block/null_blk/ |
H A D | Makefile | 11 null_blk-$(CONFIG_BLK_DEV_ZONED) += zoned.o
|
H A D | main.c | 221 module_param_named(zoned, g_zoned, bool, S_IRUGO); 222 MODULE_PARM_DESC(zoned, "Make device as a host-managed zoned block device. Default: false"); 433 NULLB_DEVICE_ATTR(zoned, bool, NULL); 749 dev->zoned = g_zoned; in null_alloc_dev() 1268 if (dev->zoned) in null_transfer() 1501 if (dev->zoned) in null_handle_cmd() 1872 if (nullb->dev->zoned) { in null_config_discard() 1967 if (nullb->dev->zoned) { in null_gendisk_register() 2063 if (dev->zoned && in null_validate_conf() 2163 if (dev->zoned) { in null_add_dev()
|
H A D | null_blk.h | 119 bool zoned; /* if device is zoned */ member
|
/openbmc/qemu/hw/block/ |
H A D | virtio-blk-common.c | 33 .end = endof(struct virtio_blk_config, zoned)},
|
H A D | virtio-blk.c | 1197 if (bs->bl.zoned != BLK_Z_NONE) { in virtio_blk_update_config() 1198 switch (bs->bl.zoned) { in virtio_blk_update_config() 1200 blkcfg.zoned.model = VIRTIO_BLK_Z_HM; in virtio_blk_update_config() 1203 blkcfg.zoned.model = VIRTIO_BLK_Z_HA; in virtio_blk_update_config() 1209 virtio_stl_p(vdev, &blkcfg.zoned.zone_sectors, in virtio_blk_update_config() 1211 virtio_stl_p(vdev, &blkcfg.zoned.max_active_zones, in virtio_blk_update_config() 1213 virtio_stl_p(vdev, &blkcfg.zoned.max_open_zones, in virtio_blk_update_config() 1215 virtio_stl_p(vdev, &blkcfg.zoned.write_granularity, blk_size); in virtio_blk_update_config() 1216 virtio_stl_p(vdev, &blkcfg.zoned.max_append_sectors, in virtio_blk_update_config() 1219 blkcfg.zoned.model = VIRTIO_BLK_Z_NONE; in virtio_blk_update_config() [all …]
|
/openbmc/linux/drivers/scsi/ |
H A D | sd.h | 150 unsigned zoned: 2; member 240 return sdkp->zoned == 1 || sdkp->device->type == TYPE_ZBC; in sd_is_zoned()
|
/openbmc/linux/fs/zonefs/ |
H A D | Kconfig | 8 zonefs is a simple file system which exposes zones of a zoned block
|
/openbmc/qemu/hw/nvme/ |
H A D | ns.c | 587 if (ns->params.zoned && ns->endgrp && ns->endgrp->fdp.enabled) { in nvme_ns_check_constraints() 592 if (ns->params.zoned) { in nvme_ns_check_constraints() 670 if (ns->params.zoned) { in nvme_ns_setup() 694 if (ns->params.zoned) { in nvme_ns_shutdown() 701 if (ns->params.zoned) { in nvme_ns_cleanup() 818 DEFINE_PROP_BOOL("zoned", NvmeNamespace, params.zoned, false),
|
/openbmc/qemu/tests/qemu-iotests/tests/ |
H A D | zoned | 35 sudo -n modprobe null_blk nr_devices=1 zoned=1
|
/openbmc/linux/drivers/block/ |
H A D | virtio_blk.c | 728 zoned.model, &model); in virtblk_revalidate_zones() 752 zoned.model, &model); in virtblk_probe_zoned_device() 772 zoned.max_open_zones, &v); in virtblk_probe_zoned_device() 777 zoned.max_active_zones, &v); in virtblk_probe_zoned_device() 782 zoned.write_granularity, &wg); in virtblk_probe_zoned_device() 796 virtio_cread(vdev, struct virtio_blk_config, zoned.zone_sectors, in virtblk_probe_zoned_device() 814 zoned.max_append_sectors, &v); in virtblk_probe_zoned_device() 849 virtio_cread(vdev, struct virtio_blk_config, zoned.model, &model); in virtblk_probe_zoned_device()
|
/openbmc/linux/include/uapi/linux/ |
H A D | virtio_blk.h | 150 } zoned; member
|
/openbmc/qemu/include/standard-headers/linux/ |
H A D | virtio_blk.h | 148 } zoned; member
|
/openbmc/qemu/block/ |
H A D | file-posix.c | 775 if ((bs->bl.zoned != BLK_Z_NONE) && in raw_open_common() 1248 static int get_sysfs_zoned_model(struct stat *st, BlockZoneModel *zoned) in get_sysfs_zoned_model() argument 1259 *zoned = BLK_Z_HM; in get_sysfs_zoned_model() 1261 *zoned = BLK_Z_HA; in get_sysfs_zoned_model() 1263 *zoned = BLK_Z_NONE; in get_sysfs_zoned_model() 1401 BlockZoneModel zoned = BLK_Z_NONE; in raw_refresh_zoned_limits() local 1404 ret = get_sysfs_zoned_model(st, &zoned); in raw_refresh_zoned_limits() 1405 if (ret < 0 || zoned == BLK_Z_NONE) { in raw_refresh_zoned_limits() 1408 bs->bl.zoned = zoned; in raw_refresh_zoned_limits() 1468 bs->bl.zoned = BLK_Z_NONE; in raw_refresh_zoned_limits() [all …]
|