summaryrefslogtreecommitdiffstats
path: root/src/mds/events/ESession.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-04-27 20:52:40 +0200
committerSage Weil <sage@newdream.net>2009-04-27 20:57:31 +0200
commit232c21a992b56b037980c1bb055c96374b79efc9 (patch)
tree3966ec9d8a1e70575c532e95c8897c2cfc20e8ab /src/mds/events/ESession.h
parentmon: only log osd boot once (diff)
downloadceph-232c21a992b56b037980c1bb055c96374b79efc9.tar.xz
ceph-232c21a992b56b037980c1bb055c96374b79efc9.zip
mds: use interval_set for ino allocation
This avoids long ino lists. Changes ondisk format, unfortunately.
Diffstat (limited to 'src/mds/events/ESession.h')
-rw-r--r--src/mds/events/ESession.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mds/events/ESession.h b/src/mds/events/ESession.h
index 163dcf1dc95..9d7842c6f26 100644
--- a/src/mds/events/ESession.h
+++ b/src/mds/events/ESession.h
@@ -26,7 +26,7 @@ class ESession : public LogEvent {
bool open; // open or close
version_t cmapv; // client map version
- deque<inodeno_t> inos;
+ interval_set<inodeno_t> inos;
version_t inotablev;
public:
@@ -38,7 +38,7 @@ class ESession : public LogEvent {
cmapv(v),
inotablev(0) {
}
- ESession(entity_inst_t inst, bool o, version_t v, deque<inodeno_t>& i, version_t iv) :
+ ESession(entity_inst_t inst, bool o, version_t v, interval_set<inodeno_t>& i, version_t iv) :
LogEvent(EVENT_SESSION),
client_inst(inst),
open(o),
@@ -49,14 +49,14 @@ class ESession : public LogEvent {
::encode(client_inst, bl);
::encode(open, bl);
::encode(cmapv, bl);
- ::encode(inos, bl);
+ ::encode(inos.m, bl);
::encode(inotablev, bl);
}
void decode(bufferlist::iterator &bl) {
::decode(client_inst, bl);
::decode(open, bl);
::decode(cmapv, bl);
- ::decode(inos, bl);
+ ::decode(inos.m, bl);
::decode(inotablev, bl);
}