From 87da20bfa1d2ef6113958b764bb2fdfbeb4db173 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Thu, 31 Jan 2013 11:00:36 -0800 Subject: [PATCH] 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 --- src/mds/mdstypes.cc | 11 +++++++---- src/mds/mdstypes.h | 47 +++++++++++++++++---------------------------- 2 files changed, 25 insertions(+), 33 deletions(-) diff --git a/src/mds/mdstypes.cc b/src/mds/mdstypes.cc index f27d769fd73f7..282d22c8cb1a6 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; } -- 2.47.3