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
This commit is contained in:
tsoome 2018-12-03 19:35:21 +00:00
parent 8525381779
commit 046dbd9d18
2 changed files with 1 additions and 19 deletions

View File

@ -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);
}

View File

@ -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);