From: Naohiro Aota <naohiro.aota@wdc.com>
To: David Sterba <dsterba@suse.com>
Cc: linux-btrfs@vger.kernel.org, Josef Bacik <josef@toxicpanda.com>,
Naohiro Aota <naohiro.aota@wdc.com>
Subject: [PATCH 00/26] btrfs-progs: zoned: zoned block device support
Date: Mon, 26 Apr 2021 15:27:16 +0900 [thread overview]
Message-ID: <cover.1619416549.git.naohiro.aota@wdc.com> (raw)
This series implements user-land side support for zoned btrfs.
This series is based on misc-next + preparation series below.
https://lore.kernel.org/linux-btrfs/cover.1617694997.git.naohiro.aota@wdc.com/
Userland tool depends on patched util-linux (libblkid and wipefs) to handle
log-structured superblock. The patches are available in the util-linux list.
https://lore.kernel.org/util-linux/20210426055036.2103620-1-naohiro.aota@wdc.com/T/
Followup work will address several areas that can be improved.
* Patch series organization
Patches 1 and 2 are preparation patches. They add a helper function
queue_param() and provide fs_info in struct btrfs_device as same as the
kernel code.
Patch 3 adds a check for a header file of zoned block device support.
Patches 4 to 16 implement zoned btrfs features (loading zone info,
chunk/extent allocator, zone emulation for a non-zoned device, etc.) like
in the kernel code.
Patches 17 to 19 extend btrfs_prepare_device() for a zoned device.
Patches 20 to 24 implement zoned support for mkfs.btrfs.
And, patches 25 and 26 add zoned support for other commands ("device add"
and "device replace").
Naohiro Aota (26):
btrfs-progs: utils: Introduce queue_param helper function
btrfs-progs: provide fs_info from btrfs_device
btrfs-progs: build: zoned: Check zoned block device support
btrfs-progs: zoned: add new ZONED feature flag
btrfs-progs: zoned: get zone information of zoned block devices
btrfs-progs: zoned: check and enable ZONED mode
btrfs-progs: zoned: introduce max_zone_append_size
btrfs-progs: zoned: disallow mixed-bg in ZONED mode
btrfs-progs: zoned: allow zoned filesystems on non-zoned block devices
btrfs-progs: zoned: implement log-structured superblock for ZONED mode
btrfs-progs: zoned: implement zoned chunk allocator
btrfs-progs: zoned: load zone's allocation offset
btrfs-progs: zoned: implement sequential extent allocation
btrfs-progs: zoned: calculate allocation offset for conventional zones
btrfs-progs: zoned: redirty clean extent buffers in zoned btrfs
btrfs-progs: zoned: reset zone of freed block group
btrfs-progs: zoned: support resetting zoned device
btrfs-progs: zoned: support zero out on zoned block device
btrfs-progs: zoned: support wiping SB on sequential write zone
btrfs-progs: mkfs: zoned: detect and enable zoned feature flag
btrfs-progs: mkfs: zoned: check incompatible features with zoned btrfs
btrfs-progs: mkfs: zoned: tweak initial system block group placement
btrfs-progs: mkfs: zoned: use sbwrite to update superblock
btrfs-progs: zoned: wipe temporary superblocks in superblock log zone
btrfs-progs: zoned: device-add: support ZONED device
btrfs-progs: zoned: introduce zoned support for device replace
Makefile | 2 +-
cmds/device.c | 21 +-
cmds/inspect-dump-super.c | 3 +-
cmds/replace.c | 13 +-
cmds/rescue-chunk-recover.c | 2 +-
common/device-scan.c | 7 +-
common/device-utils.c | 127 +++-
common/device-utils.h | 4 +
common/fsfeatures.c | 8 +
common/fsfeatures.h | 3 +-
configure.ac | 13 +
kerncompat.h | 23 +
kernel-shared/ctree.h | 28 +-
kernel-shared/disk-io.c | 39 +-
kernel-shared/extent-tree.c | 26 +
kernel-shared/print-tree.c | 1 +
kernel-shared/transaction.c | 6 +
kernel-shared/volumes.c | 153 ++++-
kernel-shared/volumes.h | 8 +-
kernel-shared/zoned.c | 1181 +++++++++++++++++++++++++++++++++++
kernel-shared/zoned.h | 170 +++++
mkfs/common.c | 38 +-
mkfs/common.h | 1 +
mkfs/main.c | 112 ++--
24 files changed, 1887 insertions(+), 102 deletions(-)
create mode 100644 kernel-shared/zoned.c
create mode 100644 kernel-shared/zoned.h
--
2.31.1
next reply other threads:[~2021-04-26 6:28 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-26 6:27 Naohiro Aota [this message]
2021-04-26 6:27 ` [PATCH 01/26] btrfs-progs: utils: Introduce queue_param helper function Naohiro Aota
2021-04-26 7:26 ` Johannes Thumshirn
2021-04-26 6:27 ` [PATCH 02/26] btrfs-progs: provide fs_info from btrfs_device Naohiro Aota
2021-04-26 7:25 ` Johannes Thumshirn
2021-04-26 6:27 ` [PATCH 03/26] btrfs-progs: build: zoned: Check zoned block device support Naohiro Aota
2021-04-26 6:27 ` [PATCH 04/26] btrfs-progs: zoned: add new ZONED feature flag Naohiro Aota
2021-04-26 7:45 ` Johannes Thumshirn
2021-04-27 15:45 ` David Sterba
2021-04-27 15:46 ` David Sterba
2021-04-28 0:07 ` Naohiro Aota
2021-04-26 6:27 ` [PATCH 05/26] btrfs-progs: zoned: get zone information of zoned block devices Naohiro Aota
2021-04-26 7:32 ` Su Yue
2021-04-27 16:45 ` David Sterba
2021-04-28 0:09 ` Naohiro Aota
2021-04-26 6:27 ` [PATCH 06/26] btrfs-progs: zoned: check and enable ZONED mode Naohiro Aota
2021-04-26 7:48 ` Johannes Thumshirn
2021-04-26 6:27 ` [PATCH 07/26] btrfs-progs: zoned: introduce max_zone_append_size Naohiro Aota
2021-04-26 7:51 ` Johannes Thumshirn
2021-04-26 6:27 ` [PATCH 08/26] btrfs-progs: zoned: disallow mixed-bg in ZONED mode Naohiro Aota
2021-04-26 7:56 ` Johannes Thumshirn
2021-04-26 6:27 ` [PATCH 09/26] btrfs-progs: zoned: allow zoned filesystems on non-zoned block devices Naohiro Aota
2021-04-26 13:43 ` Johannes Thumshirn
2021-04-26 6:27 ` [PATCH 10/26] btrfs-progs: zoned: implement log-structured superblock for ZONED mode Naohiro Aota
2021-04-26 16:04 ` Johannes Thumshirn
2021-04-26 6:27 ` [PATCH 11/26] btrfs-progs: zoned: implement zoned chunk allocator Naohiro Aota
2021-04-27 17:19 ` David Sterba
2021-04-27 19:58 ` Johannes Thumshirn
2021-04-26 6:27 ` [PATCH 12/26] btrfs-progs: zoned: load zone's allocation offset Naohiro Aota
2021-04-26 6:27 ` [PATCH 13/26] btrfs-progs: zoned: implement sequential extent allocation Naohiro Aota
2021-04-26 6:27 ` [PATCH 14/26] btrfs-progs: zoned: calculate allocation offset for conventional zones Naohiro Aota
2021-04-26 6:27 ` [PATCH 15/26] btrfs-progs: zoned: redirty clean extent buffers in zoned btrfs Naohiro Aota
2021-04-26 6:27 ` [PATCH 16/26] btrfs-progs: zoned: reset zone of freed block group Naohiro Aota
2021-04-26 6:27 ` [PATCH 17/26] btrfs-progs: zoned: support resetting zoned device Naohiro Aota
2021-04-26 6:27 ` [PATCH 18/26] btrfs-progs: zoned: support zero out on zoned block device Naohiro Aota
2021-04-26 6:27 ` [PATCH 19/26] btrfs-progs: zoned: support wiping SB on sequential write zone Naohiro Aota
2021-04-26 6:27 ` [PATCH 20/26] btrfs-progs: mkfs: zoned: detect and enable zoned feature flag Naohiro Aota
2021-04-26 6:27 ` [PATCH 21/26] btrfs-progs: mkfs: zoned: check incompatible features with zoned btrfs Naohiro Aota
2021-04-26 6:27 ` [PATCH 22/26] btrfs-progs: mkfs: zoned: tweak initial system block group placement Naohiro Aota
2021-04-26 6:27 ` [PATCH 23/26] btrfs-progs: mkfs: zoned: use sbwrite to update superblock Naohiro Aota
2021-04-26 6:27 ` [PATCH 24/26] btrfs-progs: zoned: wipe temporary superblocks in superblock log zone Naohiro Aota
2021-04-26 6:27 ` [PATCH 25/26] btrfs-progs: zoned: device-add: support ZONED device Naohiro Aota
2021-04-26 6:27 ` [PATCH 26/26] btrfs-progs: zoned: introduce zoned support for device replace Naohiro Aota
2021-04-29 15:53 ` [PATCH 00/26] btrfs-progs: zoned: zoned block device support David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1619416549.git.naohiro.aota@wdc.com \
--to=naohiro.aota@wdc.com \
--cc=dsterba@suse.com \
--cc=josef@toxicpanda.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox