mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
3b1a94c88b
The dm-zoned device mapper target provides transparent write access to zoned block devices (ZBC and ZAC compliant block devices). dm-zoned hides to the device user (a file system or an application doing raw block device accesses) any constraint imposed on write requests by the device, equivalent to a drive-managed zoned block device model. Write requests are processed using a combination of on-disk buffering using the device conventional zones and direct in-place processing for requests aligned to a zone sequential write pointer position. A background reclaim process implemented using dm_kcopyd_copy ensures that conventional zones are always available for executing unaligned write requests. The reclaim process overhead is minimized by managing buffer zones in a least-recently-written order and first targeting the oldest buffer zones. Doing so, blocks under regular write access (such as metadata blocks of a file system) remain stored in conventional zones, resulting in no apparent overhead. dm-zoned implementation focus on simplicity and on minimizing overhead (CPU, memory and storage overhead). For a 14TB host-managed disk with 256 MB zones, dm-zoned memory usage per disk instance is at most about 3 MB and as little as 5 zones will be used internally for storing metadata and performing buffer zone reclaim operations. This is achieved using zone level indirection rather than a full block indirection system for managing block movement between zones. dm-zoned primary target is host-managed zoned block devices but it can also be used with host-aware device models to mitigate potential device-side performance degradation due to excessive random writing. Zoned block devices can be formatted and checked for use with the dm-zoned target using the dmzadm utility available at: https://github.com/hgst/dm-zoned-tools Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com> [Mike Snitzer partly refactored Damien's original work to cleanup the code] Signed-off-by: Mike Snitzer <snitzer@redhat.com> |
||
---|---|---|
.. | ||
cache-policies.txt | ||
cache.txt | ||
delay.txt | ||
dm-crypt.txt | ||
dm-flakey.txt | ||
dm-integrity.txt | ||
dm-io.txt | ||
dm-log.txt | ||
dm-queue-length.txt | ||
dm-raid.txt | ||
dm-service-time.txt | ||
dm-uevent.txt | ||
dm-zoned.txt | ||
era.txt | ||
kcopyd.txt | ||
linear.txt | ||
log-writes.txt | ||
persistent-data.txt | ||
snapshot.txt | ||
statistics.txt | ||
striped.txt | ||
switch.txt | ||
thin-provisioning.txt | ||
verity.txt | ||
zero.txt |