From: Haomai Wang Date: Tue, 9 Sep 2014 08:27:51 +0000 (+0800) Subject: KeyValueStore: Fix upgrade from non-exist superblock OSD version error X-Git-Tag: v0.86~115^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2429%2Fhead;p=ceph.git KeyValueStore: Fix upgrade from non-exist superblock OSD version error If user upgrade OSD from Firefly or lower than 0.84, it won't get valid keyvaluestore backend. Signed-off-by: Haomai Wang --- diff --git a/src/os/KeyValueStore.cc b/src/os/KeyValueStore.cc index 34c56f54295b..732a96c0ea2e 100644 --- a/src/os/KeyValueStore.cc +++ b/src/os/KeyValueStore.cc @@ -847,6 +847,7 @@ int KeyValueStore::mount() } } + superblock.backend = g_conf->keyvaluestore_backend; ret = read_superblock(); if (ret < 0) { ret = -EINVAL; @@ -872,7 +873,8 @@ int KeyValueStore::mount() assert(current_fd >= 0); { - + if (superblock.backend.empty()) + superblock.backend = g_conf->keyvaluestore_backend; KeyValueDB *store = KeyValueDB::create(g_ceph_context, superblock.backend, current_fn.c_str());