]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
KeyValueStore: Fix upgrade from non-exist superblock OSD version error 2429/head
authorHaomai Wang <haomaiwang@gmail.com>
Tue, 9 Sep 2014 08:27:51 +0000 (16:27 +0800)
committerHaomai Wang <haomaiwang@gmail.com>
Tue, 9 Sep 2014 08:27:51 +0000 (16:27 +0800)
If user upgrade OSD from Firefly or lower than 0.84, it won't get valid
keyvaluestore backend.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
src/os/KeyValueStore.cc

index 34c56f54295ba9cc979565a8d0b362394cb558ec..732a96c0ea2eb9c70eea1c03396471464bd7d341 100644 (file)
@@ -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());