diff options
-rw-r--r-- | include/sys/zio.h | 2 | ||||
-rw-r--r-- | module/zfs/spa.c | 8 | ||||
-rw-r--r-- | module/zfs/vdev.c | 24 | ||||
-rw-r--r-- | module/zfs/zfs_ioctl.c | 12 |
4 files changed, 12 insertions, 34 deletions
diff --git a/include/sys/zio.h b/include/sys/zio.h index b69146b6e..23c918af1 100644 --- a/include/sys/zio.h +++ b/include/sys/zio.h @@ -24,6 +24,8 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2017 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. + * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright 2016 Toomas Soome <[email protected]> */ #ifndef _ZIO_H diff --git a/module/zfs/spa.c b/module/zfs/spa.c index f573fe0d7..638ec59ef 100644 --- a/module/zfs/spa.c +++ b/module/zfs/spa.c @@ -26,6 +26,8 @@ * Copyright (c) 2013, 2014, Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016 Toomas Soome <[email protected]> * Copyright (c) 2016 Actifio, Inc. All rights reserved. */ @@ -536,12 +538,6 @@ spa_prop_validate(spa_t *spa, nvlist_t *props) error = SET_ERROR(ENOTSUP); } else if ((error = dsl_prop_get_int_ds(dmu_objset_ds(os), - zfs_prop_to_name(ZFS_PROP_RECORDSIZE), - &propval)) == 0 && - propval > SPA_OLD_MAXBLOCKSIZE) { - 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) { diff --git a/module/zfs/vdev.c b/module/zfs/vdev.c index 40293ec1f..caf92899d 100644 --- a/module/zfs/vdev.c +++ b/module/zfs/vdev.c @@ -23,6 +23,8 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016 Toomas Soome <[email protected]> */ #include <sys/zfs_context.h> @@ -3542,36 +3544,22 @@ vdev_set_state(vdev_t *vd, boolean_t isopen, vdev_state_t state, vdev_aux_t aux) /* * Check the vdev configuration to ensure that it's capable of supporting - * a root pool. + * a root pool. We do not support partial configuration. */ boolean_t vdev_is_bootable(vdev_t *vd) { -#if defined(__sun__) || defined(__sun) - /* - * Currently, we do not support RAID-Z or partial configuration. - * In addition, only a single top-level vdev is allowed and none of the - * leaves can be wholedisks. - */ - int c; - if (!vd->vdev_ops->vdev_op_leaf) { - char *vdev_type = vd->vdev_ops->vdev_op_type; + const char *vdev_type = vd->vdev_ops->vdev_op_type; - if (strcmp(vdev_type, VDEV_TYPE_ROOT) == 0 && - vd->vdev_children > 1) { + if (strcmp(vdev_type, VDEV_TYPE_MISSING) == 0) return (B_FALSE); - } else if (strcmp(vdev_type, VDEV_TYPE_RAIDZ) == 0 || - strcmp(vdev_type, VDEV_TYPE_MISSING) == 0) { - return (B_FALSE); - } } - for (c = 0; c < vd->vdev_children; c++) { + for (int c = 0; c < vd->vdev_children; c++) { if (!vdev_is_bootable(vd->vdev_child[c])) return (B_FALSE); } -#endif /* __sun__ || __sun */ return (B_TRUE); } diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c index 6df61fecb..534df5a06 100644 --- a/module/zfs/zfs_ioctl.c +++ b/module/zfs/zfs_ioctl.c @@ -30,6 +30,8 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016 Toomas Soome <[email protected]> * Copyright (c) 2016 Actifio, Inc. All rights reserved. */ @@ -3857,16 +3859,6 @@ zfs_check_settable(const char *dsname, nvpair_t *pair, cred_t *cr) spa_t *spa; /* - * If this is a bootable dataset then - * we don't allow large (>128K) blocks, - * because GRUB doesn't support them. - */ - if (zfs_is_bootfs(dsname) && - intval > SPA_OLD_MAXBLOCKSIZE) { - return (SET_ERROR(ERANGE)); - } - - /* * We don't allow setting the property above 1MB, * unless the tunable has been changed. */ |