]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix IO error handling in SessionMap 13464/head
authorJohn Spray <john.spray@redhat.com>
Thu, 16 Feb 2017 11:09:19 +0000 (11:09 +0000)
committerJohn Spray <john.spray@redhat.com>
Thu, 16 Feb 2017 21:19:02 +0000 (21:19 +0000)
Signed-off-by: John Spray <john.spray@redhat.com>
src/mds/SessionMap.cc

index a32437de2c1f6ea4aa52ba9da0275f350bb9e709..3d2a5f4ba0bb4aefeb3a86bcdd6e974f4d186210 100644 (file)
@@ -339,8 +339,11 @@ class C_IO_SM_Save : public SessionMapIOContext {
 public:
   C_IO_SM_Save(SessionMap *cm, version_t v) : SessionMapIOContext(cm), version(v) {}
   void finish(int r) override {
-    assert(r == 0);
-    sessionmap->_save_finish(version);
+    if (r != 0) {
+      get_mds()->handle_write_error(r);
+    } else {
+      sessionmap->_save_finish(version);
+    }
   }
 };
 }