]> git.proxmox.com Git - mirror_zfs.git/commit
Vdev Properties Feature
authorAllan Jude <allan@klarasystems.com>
Tue, 30 Nov 2021 14:46:25 +0000 (09:46 -0500)
committerGitHub <noreply@github.com>
Tue, 30 Nov 2021 14:46:25 +0000 (07:46 -0700)
commit2a673e76a928cca4df7794cdcaa02e0be149c4da
tree016afa631bb0d98f55b01e93ab80842fe6ffda27
parent5f64bf7fdeebfbad50e98c6cd0c3a361a9aecabc
Vdev Properties Feature

Add properties, similar to pool properties, to each vdev.
This makes use of the existing per-vdev ZAP that was added as
part of device evacuation/removal.

A large number of read-only properties are exposed,
many of the members of struct vdev_t, that provide useful
statistics.

Adds support for read-only "removing" vdev property.
Adds the "allocating" property that defaults to "on" and
can be set to "off" to prevent future allocations from that
top-level vdev.

Supports user-defined vdev properties.
Includes support for properties.vdev in SYSFS.

Co-authored-by: Allan Jude <allan@klarasystems.com>
Co-authored-by: Mark Maybee <mark.maybee@delphix.com>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Mark Maybee <mark.maybee@delphix.com>
Signed-off-by: Allan Jude <allan@klarasystems.com>
Closes #11711
33 files changed:
cmd/zpool/zpool_iter.c
cmd/zpool/zpool_main.c
cmd/zpool/zpool_util.h
contrib/pyzfs/libzfs_core/_constants.py
include/libzfs.h
include/libzfs_core.h
include/sys/fs/zfs.h
include/sys/spa.h
include/sys/spa_impl.h
include/sys/vdev.h
include/sys/vdev_impl.h
include/sys/zfs_sysfs.h
include/zfs_prop.h
lib/libzfs/libzfs.abi
lib/libzfs/libzfs_pool.c
lib/libzfs/libzfs_util.c
lib/libzfs/os/freebsd/libzfs_compat.c
lib/libzfs_core/libzfs_core.abi
lib/libzfs_core/libzfs_core.c
lib/libzutil/zutil_import.c
man/man7/vdevprops.7 [new file with mode: 0644]
man/man8/zpool-get.8
module/os/linux/zfs/zfs_sysfs.c
module/zcommon/zfs_prop.c
module/zcommon/zpool_prop.c
module/zcommon/zprop_common.c
module/zfs/spa.c
module/zfs/spa_misc.c
module/zfs/vdev.c
module/zfs/vdev_label.c
module/zfs/vdev_removal.c
module/zfs/zfs_ioctl.c
module/zfs/zio.c