From 7aaf685ba7088e8f82ff1dcc4c8581d3c4a041ff Mon Sep 17 00:00:00 2001 From: Toomas Soome <tsoome@FreeBSD.org> Date: Mon, 3 Dec 2018 19:35:21 +0000 Subject: [PATCH] zfs: we can boot from dataset with large_dnode enabled loader has been supporting large_dnode for some time, no need to block the feature for boot dataset. Reviewed by: avg MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D18391 --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c | 10 +--------- .../contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c | 10 ---------- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c index 3a25d8463d33..64c52df2b029 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c @@ -615,9 +615,7 @@ spa_prop_validate(spa_t *spa, nvlist_t *props) /* * Must be ZPL, and its property settings - * must be supported by GRUB (compression - * is not gzip, and large blocks or large - * dnodes are not used). + * must be supported. */ if (dmu_objset_type(os) != DMU_OST_ZFS) { @@ -628,12 +626,6 @@ spa_prop_validate(spa_t *spa, nvlist_t *props) &propval)) == 0 && !BOOTFS_COMPRESS_VALID(propval)) { error = SET_ERROR(ENOTSUP); - } else if ((error = - dsl_prop_get_int_ds(dmu_objset_ds(os), - zfs_prop_to_name(ZFS_PROP_DNODESIZE), - &propval)) == 0 && - propval != ZFS_DNSIZE_LEGACY) { - error = SET_ERROR(ENOTSUP); } else { objnum = dmu_objset_id(os); } diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c index e24e964f026a..3f6204c9bfb5 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c @@ -4208,16 +4208,6 @@ zfs_check_settable(const char *dsname, nvpair_t *pair, cred_t *cr) intval != ZFS_DNSIZE_LEGACY) { spa_t *spa; - /* - * If this is a bootable dataset then - * we don't allow large (>512B) dnodes, - * because GRUB doesn't support them. - */ - if (zfs_is_bootfs(dsname) && - intval != ZFS_DNSIZE_LEGACY) { - return (SET_ERROR(EDOM)); - } - if ((err = spa_open(dsname, &spa, FTAG)) != 0) return (err);