~ubuntu-branches/ubuntu/quantal/ceph/quantal

« back to all changes in this revision

Viewing changes to src/mds/SessionMap.cc

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum, Clint Byrum, Micah Gersten
  • Date: 2011-02-12 22:50:26 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20110212225026-yyyw4tk0msgql3ul
Tags: 0.24.2-0ubuntu1
[ Clint Byrum <clint@ubuntu.com> ]
* New upstream release. (LP: #658670, LP: #684011)
* debian/patches/fix-mkcephfs.patch: dropped (applied upstream)
* Removed .la files from libceph1-dev, libcrush1-dev and 
  librados1-dev (per Debian policy v3.9.1 10.2).
* debian/control: adding pkg-config as a build dependency
* debian/control: depend on libcrypto++-dev instead of libssl-dev
* debian/watch: added watch file

[ Micah Gersten <micahg@ubuntu.com> ]
* debian/control: add Homepage

Show diffs side-by-side

added added

removed removed

Lines of Context:
69
69
  
70
70
  C_SM_Load *c = new C_SM_Load(this);
71
71
  object_t oid = get_object_name();
72
 
  OSDMap *osdmap = mds->objecter->osdmap;
73
 
  ceph_object_layout ol = osdmap->make_object_layout(oid,
74
 
                                                     mds->mdsmap->get_metadata_pg_pool());
75
 
  mds->objecter->read_full(oid, ol, CEPH_NOSNAP, &c->bl, 0, c);
 
72
  object_locator_t oloc(mds->mdsmap->get_metadata_pg_pool());
 
73
  mds->objecter->read_full(oid, oloc, CEPH_NOSNAP, &c->bl, 0, c);
76
74
}
77
75
 
78
76
void SessionMap::_load_finish(int r, bufferlist &bl)
121
119
  committing = version;
122
120
  SnapContext snapc;
123
121
  object_t oid = get_object_name();
124
 
  OSDMap *osdmap = mds->objecter->osdmap;
125
 
  ceph_object_layout ol = osdmap->make_object_layout(oid,
126
 
                                                     mds->mdsmap->get_metadata_pg_pool());
 
122
  object_locator_t oloc(mds->mdsmap->get_metadata_pg_pool());
127
123
 
128
 
  mds->objecter->write_full(oid, ol,
 
124
  mds->objecter->write_full(oid, oloc,
129
125
                            snapc,
130
126
                            bl, g_clock.now(), 0,
131
127
                            NULL, new C_SM_Save(this, version));
203
199
        dout(10) << " already had session for " << s->inst.name << ", recovering" << dendl;
204
200
        entity_name_t n = s->inst.name;
205
201
        delete s;
206
 
        s = session_map[s->inst.name];
 
202
        s = session_map[n];
207
203
        p = p2;
208
204
        s->decode(p);
209
205
      } else {
214
210
    }
215
211
  }
216
212
}
 
213
 
 
214
 
 
215
 
 
216
void SessionMap::wipe()
 
217
{
 
218
  dout(1) << "wipe start" << dendl;
 
219
  dump();
 
220
  while (!session_map.empty()) {
 
221
    Session *s = session_map.begin()->second;
 
222
    remove_session(s);
 
223
  }
 
224
  version = ++projected;
 
225
  dout(1) << "wipe result" << dendl;
 
226
  dump();
 
227
  dout(1) << "wipe done" << dendl;
 
228
}
 
229
 
 
230
void SessionMap::wipe_ino_prealloc()
 
231
{
 
232
  for (hash_map<entity_name_t,Session*>::iterator p = session_map.begin(); 
 
233
       p != session_map.end(); 
 
234
       ++p) {
 
235
    p->second->pending_prealloc_inos.clear();
 
236
    p->second->prealloc_inos.clear();
 
237
    p->second->used_inos.clear();
 
238
  }
 
239
  projected = ++version;
 
240
}