This commit is contained in:
Umer Saleem 2024-09-09 17:50:01 -07:00 committed by GitHub
commit f2de4919c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 54 additions and 6 deletions

View File

@ -141,6 +141,7 @@ dist_zpoolcompat_DATA = \
%D%/compatibility.d/freebsd-11.3 \ %D%/compatibility.d/freebsd-11.3 \
%D%/compatibility.d/freenas-9.10.2 \ %D%/compatibility.d/freenas-9.10.2 \
%D%/compatibility.d/grub2 \ %D%/compatibility.d/grub2 \
%D%/compatibility.d/grub2-2.06 \
%D%/compatibility.d/openzfs-2.0-freebsd \ %D%/compatibility.d/openzfs-2.0-freebsd \
%D%/compatibility.d/openzfs-2.0-linux \ %D%/compatibility.d/openzfs-2.0-linux \
%D%/compatibility.d/openzfs-2.1-freebsd \ %D%/compatibility.d/openzfs-2.1-freebsd \

View File

@ -1,4 +1,4 @@
# Features which are supported by GRUB2 # Features which are supported by GRUB2 versions from v2.12 onwards.
allocation_classes allocation_classes
async_destroy async_destroy
block_cloning block_cloning

View File

@ -0,0 +1,23 @@
# Features which are supported by GRUB2 versions prior to v2.12.
#
# GRUB is not able to detect ZFS pool if snaphsot of top level boot pool
# is created. This issue is observed with GRUB versions before v2.12 if
# extensible_dataset feature is enabled on ZFS boot pool.
#
# This file lists all read-only comaptible features except
# extensible_dataset and any other feature that depends on it.
#
allocation_classes
async_destroy
block_cloning
device_rebuild
embedded_data
empty_bpobj
enabled_txg
hole_birth
log_spacemap
lz4_compress
resilver_defer
spacemap_histogram
spacemap_v2
zpool_checkpoint

View File

@ -219,7 +219,7 @@ to the end of the line is ignored.
.Sy Example : .Sy Example :
.Bd -literal -compact -offset 4n .Bd -literal -compact -offset 4n
.No example# Nm cat Pa /usr/share/zfs/compatibility.d/grub2 .No example# Nm cat Pa /usr/share/zfs/compatibility.d/grub2
# Features which are supported by GRUB2 # Features which are supported by GRUB2 versions from v2.12 onwards.
allocation_classes allocation_classes
async_destroy async_destroy
block_cloning block_cloning
@ -243,6 +243,31 @@ userobj_accounting
zilsaxattr zilsaxattr
zpool_checkpoint zpool_checkpoint
.No example# Nm cat Pa /usr/share/zfs/compatibility.d/grub2-2.06
# Features which are supported by GRUB2 versions prior to v2.12.
#
# GRUB is not able to detect ZFS pool if snaphsot of top level boot pool
# is created. This issue is observed with GRUB versions before v2.12 if
# extensible_dataset feature is enabled on ZFS boot pool.
#
# This file lists all read-only comaptible features except
# extensible_dataset and any other feature that depends on it.
#
allocation_classes
async_destroy
block_cloning
device_rebuild
embedded_data
empty_bpobj
enabled_txg
hole_birth
log_spacemap
lz4_compress
resilver_defer
spacemap_histogram
spacemap_v2
zpool_checkpoint
.No example# Nm zpool Cm create Fl o Sy compatibility Ns = Ns Ar grub2 Ar bootpool Ar vdev .No example# Nm zpool Cm create Fl o Sy compatibility Ns = Ns Ar grub2 Ar bootpool Ar vdev
.Ed .Ed
.Pp .Pp
@ -681,7 +706,7 @@ are destroyed.
Large dnodes allow more data to be stored in the bonus buffer, Large dnodes allow more data to be stored in the bonus buffer,
thus potentially improving performance by avoiding the use of spill blocks. thus potentially improving performance by avoiding the use of spill blocks.
. .
.feature com.delphix livelist yes .feature com.delphix livelist yes extensible_dataset
This feature allows clones to be deleted faster than the traditional method This feature allows clones to be deleted faster than the traditional method
when a large number of random/sparse writes have been made to the clone. when a large number of random/sparse writes have been made to the clone.
All blocks allocated and freed after a clone is created are tracked by the All blocks allocated and freed after a clone is created are tracked by the

View File

@ -119,9 +119,8 @@ function check_feature_set
while read line; do while read line; do
typeset flag=1 typeset flag=1
if [[ "$line" == "#*" ]]; then # Skip comments
continue [[ $line = \#* ]] && continue
fi
for set in "$@"; do for set in "$@"; do
if ! grep -q "$line" $ZPOOL_COMPAT_DIR/$set; then if ! grep -q "$line" $ZPOOL_COMPAT_DIR/$set; then