Mercurial > nomad > experimental
changeset 654:536de26a03b5
objstore: allow vdev allocation with import-only backends
Some backends will not be able to create new vdevs - only import existing
ones. Those backends still need a struct objstore_vdev. Therefore, we must
allow the vdev structure allocation to succeed even if the backend
definition doesn't contain a create_vdev op.
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Sat, 02 Mar 2019 20:49:13 -0500 |
parents | 3ed1b2a6b2e9 |
children | 9cab2dbc51d2 |
files | src/objstore/vdev.c |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/objstore/vdev.c Sat Mar 02 19:11:15 2019 -0500 +++ b/src/objstore/vdev.c Sat Mar 02 20:49:13 2019 -0500 @@ -72,7 +72,8 @@ int ret; backend = backend_lookup(type); - if (!backend || !backend->def->create_vdev) + if (!backend || + (!backend->def->create_vdev && !backend->def->import_vdev)) return ERR_PTR(-ENOTSUP); vdev = mem_cache_alloc(vdev_cache);