diff options
author | Sage Weil <sage@newdream.net> | 2009-04-27 20:52:40 +0200 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-04-27 20:57:31 +0200 |
commit | 232c21a992b56b037980c1bb055c96374b79efc9 (patch) | |
tree | 3966ec9d8a1e70575c532e95c8897c2cfc20e8ab /src/mds/events/ESession.h | |
parent | mon: only log osd boot once (diff) | |
download | ceph-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.h | 8 |
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); } |