From a879301056192d018fd53e80a96b4b0be8403734 Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Mon, 19 Jan 2015 10:15:59 +0800 Subject: [PATCH] Striper: Add total_intended_len in StripedReadResult Using this field record the total len which we wanted. Signed-off-by: Jianpeng Ma --- src/osdc/Striper.cc | 4 ++++ src/osdc/Striper.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/osdc/Striper.cc b/src/osdc/Striper.cc index 9cd4697830778..43280c82a0731 100644 --- a/src/osdc/Striper.cc +++ b/src/osdc/Striper.cc @@ -270,6 +270,7 @@ void Striper::StripedReadResult::add_partial_result( size_t actual = MIN(bl.length(), p->second); bl.splice(0, actual, &r.first); r.second = p->second; + total_intended_len += r.second; } } @@ -297,6 +298,7 @@ void Striper::StripedReadResult::add_partial_sparse_result( ldout(cct, 20) << " s at end" << dendl; pair& r = partial[tofs]; r.second = tlen; + total_intended_len += r.second; break; } @@ -315,6 +317,7 @@ void Striper::StripedReadResult::add_partial_sparse_result( size_t gap = MIN(s->first - bl_off, tlen); ldout(cct, 20) << " s gap " << gap << ", skipping" << dendl; r.second = gap; + total_intended_len += r.second; bl_off += gap; tofs += gap; tlen -= gap; @@ -332,6 +335,7 @@ void Striper::StripedReadResult::add_partial_sparse_result( pair& r = partial[tofs]; bl.splice(0, actual, &r.first); r.second = actual; + total_intended_len += r.second; bl_off += actual; tofs += actual; tlen -= actual; diff --git a/src/osdc/Striper.h b/src/osdc/Striper.h index 228045aac73ae..bbd7eeac25e0a 100644 --- a/src/osdc/Striper.h +++ b/src/osdc/Striper.h @@ -77,6 +77,7 @@ class CephContext; class StripedReadResult { // offset -> (data, intended length) map > partial; + uint64_t total_intended_len = 0; //sum of partial.second.second public: void add_partial_result( -- 2.39.5