]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r336945: MFV r336944: 9286 want refreservation=auto
authormav <mav@FreeBSD.org>
Wed, 3 Oct 2018 02:08:32 +0000 (02:08 +0000)
committermav <mav@FreeBSD.org>
Wed, 3 Oct 2018 02:08:32 +0000 (02:08 +0000)
commit3548f878e6616cbe11d459de884670d74a6562db
tree52ff6faa1fa86e808587e88d9b4cba2ddca2a5c1
parent1cf7e088abf97966951c1982adcd1d50a2b3dd17
MFC r336945: MFV r336944: 9286 want refreservation=auto

When a ZFS volume is created with zfs create -V (but without -s), the
refreservation property is set to a value that is volsize plus the maximum
size of metadata. If refreservation is ever set to another value, it is
impossible to set it back to the automatically determined value. There are
other cases where refreservation may be wrong. These include receiving a
volume that was sent without properties and zfs clone.

We need:

zfs set refreservation=auto <volume>
zfs clone -o refreservation=auto <volume>

Each one would use the same function used by zfs create -V to determine the
proper value for refreservation.

illumos/illumos-gate@1c10ae76c0cb31326c320e7cef1d3f24a1f47125

Reviewed by: Allan Jude <allanjude@freebsd.org>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Reviewed by: Andy Stormont <astormont@racktopsystems.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
Author: Mike Gerdts <mike.gerdts@joyent.com>
cddl/contrib/opensolaris/cmd/zfs/zfs.8
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c