From: Greg Farnum Date: Thu, 31 Jan 2013 19:00:36 +0000 (-0800) Subject: mds: fold byte_range_t into client_writeable_range_t X-Git-Tag: v0.58~100^2~66 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=87da20bfa1d2ef6113958b764bb2fdfbeb4db173;p=ceph.git mds: fold byte_range_t into client_writeable_range_t As part of this, fold byte_range_t into it as a sub-struct and eliminate its free-standing functions (it's too small to live alone). Signed-off-by: Greg Farnum --- diff --git a/src/mds/mdstypes.cc b/src/mds/mdstypes.cc index f27d769fd73..282d22c8cb1 100644 --- a/src/mds/mdstypes.cc +++ b/src/mds/mdstypes.cc @@ -190,7 +190,8 @@ ostream& operator<<(ostream &out, const nest_info_t &n) void client_writeable_range_t::encode(bufferlist &bl) const { ENCODE_START(2, 2, bl); - ::encode(range, bl); + ::encode(range.first, bl); + ::encode(range.last, bl); ::encode(follows, bl); ENCODE_FINISH(bl); } @@ -198,15 +199,18 @@ void client_writeable_range_t::encode(bufferlist &bl) const void client_writeable_range_t::decode(bufferlist::iterator& bl) { DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, bl); - ::decode(range, bl); + ::decode(range.first, bl); + ::decode(range.last, bl); ::decode(follows, bl); DECODE_FINISH(bl); } void client_writeable_range_t::dump(Formatter *f) const { + f->open_object_section("byte range"); f->dump_unsigned("first", range.first); f->dump_unsigned("last", range.last); + f->close_section(); f->dump_unsigned("follows", follows); } @@ -221,6 +225,5 @@ void client_writeable_range_t::generate_test_instances(list& ls); }; + +inline void decode(client_writeable_range_t::byte_range_t& range, bufferlist::iterator& bl) { + ::decode(range.first, bl); + ::decode(range.last, bl); +} + WRITE_CLASS_ENCODER(client_writeable_range_t) ostream& operator<<(ostream& out, const client_writeable_range_t& r); -inline bool operator==(const client_writeable_range_t& l, const client_writeable_range_t& r) { - return l.range == r.range && l.follows == r.follows; +inline bool operator==(const client_writeable_range_t& l, + const client_writeable_range_t& r) { + return l.range.first == r.range.first && l.range.last == r.range.last && + l.follows == r.follows; } @@ -505,9 +493,10 @@ struct inode_t { if (v >= 3) { ::decode(client_ranges, p); } else { - map m; + map m; ::decode(m, p); - for (map::iterator q = m.begin(); q != m.end(); q++) + for (map::iterator + q = m.begin(); q != m.end(); q++) client_ranges[q->first].range = q->second; }