diff options
author | Richard Laager <[email protected]> | 2012-01-13 16:24:15 -0600 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2012-01-17 13:49:07 -0800 |
commit | 57a4eddc4d5e1e6c10d8d7dcf87a9fc27398adcd (patch) | |
tree | e7cc234e3c997eb51146647dd916117498ddfb1c /module/zfs/vdev.c | |
parent | 08d08ebba2247ad404001785a890de4281d0a362 (diff) |
Allow setting bootfs on any pool
The vdev_is_bootable() restrictions are no longer necessary
with recent GRUB2 code. FreeBSD has implemented the same
change, except that I moved the Solaris comment to be inside
the #ifdef __sun__ block.
Signed-off-by: Brian Behlendorf <[email protected]>
Issue #317
Diffstat (limited to 'module/zfs/vdev.c')
-rw-r--r-- | module/zfs/vdev.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/module/zfs/vdev.c b/module/zfs/vdev.c index 002baa07e..9f044b68c 100644 --- a/module/zfs/vdev.c +++ b/module/zfs/vdev.c @@ -3053,13 +3053,17 @@ 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. */ 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) { @@ -3080,6 +3084,7 @@ vdev_is_bootable(vdev_t *vd) if (!vdev_is_bootable(vd->vdev_child[c])) return (B_FALSE); } +#endif /* __sun__ || __sun */ return (B_TRUE); } |