diff options
author | Brian Behlendorf <[email protected]> | 2013-11-14 14:22:52 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-11-14 14:28:35 -0800 |
commit | 64ad2b26e24ae9f70d3a41c786144552c2e6ac12 (patch) | |
tree | b14364a08675cf09aba61099e89f581e8a0fc5c2 | |
parent | 28967367c9e1e97bbd9745da21e26650b508f6f8 (diff) |
Remove the slog restriction on bootfs pools
Under Linux this restriction does not apply because we have access
to all the required devices.
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #1631
-rw-r--r-- | lib/libzfs/libzfs_pool.c | 7 | ||||
-rw-r--r-- | module/zfs/zfs_ioctl.c | 25 |
2 files changed, 1 insertions, 31 deletions
diff --git a/lib/libzfs/libzfs_pool.c b/lib/libzfs/libzfs_pool.c index a221f9fc7..ccaa86bea 100644 --- a/lib/libzfs/libzfs_pool.c +++ b/lib/libzfs/libzfs_pool.c @@ -1409,13 +1409,6 @@ zpool_add(zpool_handle_t *zhp, nvlist_t *nvroot) (void) zfs_error(hdl, EZFS_BADVERSION, msg); break; - case EDOM: - zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, - "root pool can not have multiple vdevs" - " or separate logs")); - (void) zfs_error(hdl, EZFS_POOL_NOTSUP, msg); - break; - case ENOTBLK: zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "cache device must be a disk or disk slice")); diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c index f541181e6..52b072a23 100644 --- a/module/zfs/zfs_ioctl.c +++ b/module/zfs/zfs_ioctl.c @@ -1751,8 +1751,7 @@ zfs_ioc_vdev_add(zfs_cmd_t *zc) { spa_t *spa; int error; - nvlist_t *config, **l2cache, **spares; - uint_t nl2cache = 0, nspares = 0; + nvlist_t *config; error = spa_open(zc->zc_name, &spa, FTAG); if (error != 0) @@ -1760,28 +1759,6 @@ zfs_ioc_vdev_add(zfs_cmd_t *zc) error = get_nvlist(zc->zc_nvlist_conf, zc->zc_nvlist_conf_size, zc->zc_iflags, &config); - (void) nvlist_lookup_nvlist_array(config, ZPOOL_CONFIG_L2CACHE, - &l2cache, &nl2cache); - - (void) nvlist_lookup_nvlist_array(config, ZPOOL_CONFIG_SPARES, - &spares, &nspares); - - /* - * A root pool with concatenated devices is not supported. - * Thus, can not add a device to a root pool. - * - * Intent log device can not be added to a rootpool because - * during mountroot, zil is replayed, a seperated log device - * can not be accessed during the mountroot time. - * - * l2cache and spare devices are ok to be added to a rootpool. - */ - if (spa_bootfs(spa) != 0 && nl2cache == 0 && nspares == 0) { - nvlist_free(config); - spa_close(spa, FTAG); - return (SET_ERROR(EDOM)); - } - if (error == 0) { error = spa_vdev_add(spa, config); nvlist_free(config); |