]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: fix peek_whoami
authorSage Weil <sage@newdream.net>
Thu, 20 Nov 2008 22:00:33 +0000 (14:00 -0800)
committerSage Weil <sage@newdream.net>
Thu, 20 Nov 2008 22:00:51 +0000 (14:00 -0800)
src/osd/OSD.cc

index 2f13e8924a85b4fcd25ebb63cfcc27d7d06f62db..0bb7f8d884775c986a6e307a9713c3d31af2b060 100644 (file)
@@ -221,13 +221,14 @@ int OSD::peek_whoami(ceph_fsid& fsid, const char *dev)
   OSDSuperblock sb;
   bufferlist bl;
   err = store->read(0, OSD_SUPERBLOCK_POBJECT, 0, sizeof(sb), bl);
+  store->umount();
+  delete store;
+
   if (err < 0) 
     return -ENOENT;
-  delete store;
 
   bufferlist::iterator p = bl.begin();
   ::decode(sb, p);
-  store->umount();
 
   if (!ceph_fsid_equal(&sb.fsid, &fsid)) {
     generic_dout(0) << "dev fsid " << sb.fsid << " != monmap fsid " << fsid << dendl;