]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: make sure snaptable version > 0
authorYan, Zheng <zyan@redhat.com>
Wed, 28 Mar 2018 09:54:48 +0000 (17:54 +0800)
committerYan, Zheng <zyan@redhat.com>
Wed, 28 Mar 2018 09:55:16 +0000 (17:55 +0800)
version 0 snaptable confuses snapshot cache code

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
src/mds/MDSRank.cc

index e32db61df1204e783759b1b9b25bf5d79484d0e5..e8d2e8c8557bfe7396bc49c278d9f8573c597a61 100644 (file)
@@ -1322,6 +1322,13 @@ void MDSRank::replay_done()
   mdlog->get_journaler()->set_writeable();
   mdlog->get_journaler()->trim_tail();
 
+  if (snapserver->get_version() == 0) {
+    // upgraded from old filesystem. version 0 snaptable confuses current code.
+    dout(1) << "upgrading snaptable version from 0 to 1" << dendl;
+    snapserver->reset();
+    sessionmap.save(new C_MDSInternalNoop);
+  }
+
   if (g_conf->mds_wipe_sessions) {
     dout(1) << "wiping out client sessions" << dendl;
     sessionmap.wipe();