mbox series

[v3,00/15] btrfs-progs: zoned block device support

Message ID 20190820045258.1571640-1-naohiro.aota@wdc.com (mailing list archive)
Headers show
Series btrfs-progs: zoned block device support | expand

Message

Naohiro Aota Aug. 20, 2019, 4:52 a.m. UTC
This is a userland part of zoned block device support for btrfs.

Kernel side patch series:
https://lore.kernel.org/linux-btrfs/20190808093038.4163421-1-naohiro.aota@wdc.com/T/

Please see the kernel side for general description of zoned block device
support.

Patches 1 and 2 introduce some modification to prepare for the later
patches.

Patch 3 enable zoned support for the configuration script.

Patches 4 to 6 introduce functions to retrieve zone information from a
device and call them when opening a device.

Patches 7 to 12 adopts current implementations e.g., extent allocation for
HMZONED mode.

Patches 13 to 15 enables HMZONED mode in various sub-commands.

v2 https://lore.kernel.org/linux-btrfs/20190607131751.5359-1-naohiro.aota@wdc.com/
v1 https://lore.kernel.org/linux-btrfs/20180809181105.12856-1-naota@elisp.net/

Changelog:
v3:
 - Unified userland code and kernel code
 - Introduce common/hmzoned.c and put hmzoned related code there

Naohiro Aota (15):
  btrfs-progs: utils: Introduce queue_param helper function
  btrfs-progs: introduce raid parameters variables
  btrfs-progs: build: Check zoned block device support
  btrfs-progs: add new HMZONED feature flag
  btrfs-progs: Introduce zone block device helper functions
  btrfs-progs: load and check zone information
  btrfs-progs: avoid writing super block to sequential zones
  btrfs-progs: support discarding zoned device
  btrfs-progs: support zero out on zoned block device
  btrfs-progs: align device extent allocation to zone boundary
  btrfs-progs: do sequential allocation in HMZONED mode
  btrfs-progs: redirty clean extent buffers in seq
  btrfs-progs: mkfs: Zoned block device support
  btrfs-progs: device-add: support HMZONED device
  btrfs-progs: introduce support for device replace HMZONED device

 Makefile                  |   2 +-
 cmds/device.c             |  29 +-
 cmds/inspect-dump-super.c |   3 +-
 cmds/replace.c            |  12 +-
 common/device-scan.c      |  10 +
 common/device-utils.c     |  85 +++++-
 common/device-utils.h     |   4 +
 common/fsfeatures.c       |   8 +
 common/fsfeatures.h       |   2 +-
 common/hmzoned.c          | 590 ++++++++++++++++++++++++++++++++++++++
 common/hmzoned.h          |  90 ++++++
 configure.ac              |  13 +
 ctree.h                   |  21 +-
 disk-io.c                 |  10 +
 extent-tree.c             |  15 +
 kerncompat.h              |   2 +
 libbtrfsutil/btrfs.h      |   2 +
 mkfs/common.c             |  20 +-
 mkfs/common.h             |   1 +
 mkfs/main.c               | 107 +++----
 transaction.c             |   7 +
 volumes.c                 | 101 ++++++-
 volumes.h                 |  17 ++
 23 files changed, 1081 insertions(+), 70 deletions(-)
 create mode 100644 common/hmzoned.c
 create mode 100644 common/hmzoned.h