]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge branch 'unstable' into asyncmds
authorSage Weil <sage@newdream.net>
Wed, 31 Dec 2008 19:30:08 +0000 (11:30 -0800)
committerSage Weil <sage@newdream.net>
Wed, 31 Dec 2008 19:30:08 +0000 (11:30 -0800)
Conflicts:

src/mon/OSDMonitor.cc

1  2 
src/TODO
src/include/ceph_fs.h
src/kernel/mds_client.c
src/mon/MDSMonitor.cc
src/mon/OSDMonitor.cc
src/vstart.sh

diff --cc src/TODO
Simple merge
Simple merge
Simple merge
Simple merge
index 1e7e5ef4552fc666ce882051a212c1c5e6b7ae79,65095438dd4019c0d9d2f6dfc17c064c71d7fd56..4b1534d32b1f1035e9fd187b1128d76d94490152
@@@ -971,21 -971,17 +971,21 @@@ bool OSDMonitor::prepare_command(MMonCo
        paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs));
        return true;
      }
 -    else if (m->cmd[1] == "setmap") {
 +    else if (m->cmd[1] == "setmap" && m->cmd.size() == 3) {
        OSDMap map;
        map.decode(m->get_data());
-       if (ceph_fsid_equal(&map.fsid, &mon->monmap->fsid)) {
 +      epoch_t e = atoi(m->cmd[2].c_str());
 -      map.epoch = pending_inc.epoch;  // make sure epoch is correct
 -      map.encode(pending_inc.fullmap);
 -      string rs = "set osd map";
 -      paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs));
 -      return true;
 -      }
 -      ss << "osdmap fsid " << map.fsid << " does not match monitor fsid " << mon->monmap->fsid;
+       if (ceph_fsid_compare(&map.fsid, &mon->monmap->fsid) == 0) {
 +      if (pending_inc.epoch == e) {
 +        map.epoch = pending_inc.epoch;  // make sure epoch is correct
 +        map.encode(pending_inc.fullmap);
 +        string rs = "set osd map";
 +        paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs));
 +        return true;
 +      } else
 +        ss << "next osdmap epoch " << pending_inc.epoch << " != " << e;
 +      } else
 +        ss << "osdmap fsid " << map.fsid << " does not match monitor fsid " << mon->monmap->fsid;
        err = -EINVAL;
      }
      else if (m->cmd[1] == "setmaxosd" && m->cmd.size() > 2) {
diff --cc src/vstart.sh
Simple merge