diff options
Diffstat (limited to 'core/storagemanager.lua')
-rw-r--r-- | core/storagemanager.lua | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/core/storagemanager.lua b/core/storagemanager.lua index cadae0ed..f0450dfb 100644 --- a/core/storagemanager.lua +++ b/core/storagemanager.lua @@ -153,14 +153,19 @@ function open(host, store, typ) if err == "unsupported-store" then if typ == "map" then -- Use shim on top of keyval store log("debug", "map storage driver unavailable, using shim on top of keyval store."); - return create_map_shim(host, store); + ret, err = create_map_shim(host, store); + else + log("debug", "Storage driver %s does not support store %s (%s), falling back to null driver", + driver_name, store, typ or "<nil>"); + ret, err = null_storage_driver, nil; end - log("debug", "Storage driver %s does not support store %s (%s), falling back to null driver", - driver_name, store, typ or "<nil>"); - ret = null_storage_driver; - err = nil; end end + if ret then + local event_data = { host = host, store_name = store, store_type = typ, store = ret }; + prosody.hosts[host].events.fire_event("store-opened", event_data); + ret, err = event_data.store, event_data.store_err; + end return ret, err; end |