summaryrefslogtreecommitdiffstats
path: root/sys/cddl
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2009-05-31 11:59:32 +0000
committerdfr <dfr@FreeBSD.org>2009-05-31 11:59:32 +0000
commit0cdc6579da190ac550cff8818e5926476d2930f2 (patch)
tree2653118a282db4bec5c12bd7dd63fedda7e4738e /sys/cddl
parent3b5c8e652c541510716465ae5db9a604e01420f9 (diff)
downloadFreeBSD-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')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c17
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
}
OpenPOWER on IntegriCloud