diff options
author | dfr <dfr@FreeBSD.org> | 2009-05-31 11:59:32 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2009-05-31 11:59:32 +0000 |
commit | 0cdc6579da190ac550cff8818e5926476d2930f2 (patch) | |
tree | 2653118a282db4bec5c12bd7dd63fedda7e4738e /sys/cddl/contrib/opensolaris/uts/common/fs/zfs | |
parent | 3b5c8e652c541510716465ae5db9a604e01420f9 (diff) | |
download | FreeBSD-src-0cdc6579da190ac550cff8818e5926476d2930f2.zip FreeBSD-src-0cdc6579da190ac550cff8818e5926476d2930f2.tar.gz |
Allow the bootfs property to be set for raidz pools on FreeBSD.
Reviewed by: pjd
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c index 7d0602c..ee818e5 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c @@ -2392,13 +2392,23 @@ 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. 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. + * a root pool. + * + * On Solaris, 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. + * + * For FreeBSD, we can boot from any configuration. There is a + * limitation that the boot filesystem must be either uncompressed or + * compresses with lzjb compression but I'm not sure how to enforce + * that here. */ boolean_t vdev_is_bootable(vdev_t *vd) { +#ifdef __FreeBSD_version + return (B_TRUE); +#else int c; if (!vd->vdev_ops->vdev_op_leaf) { @@ -2420,4 +2430,5 @@ vdev_is_bootable(vdev_t *vd) return (B_FALSE); } return (B_TRUE); +#endif } |