From: Jianpeng Ma Date: Tue, 22 Sep 2015 06:39:09 +0000 (+0800) Subject: osd/ReplicatedBackend: Don't forget reset_tp_timeout for first read. X-Git-Tag: v10.0.3~139^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2c2d5c707efd5a90cf18bbe5be1288794792776f;p=ceph.git osd/ReplicatedBackend: Don't forget reset_tp_timeout for first read. Signed-off-by: Jianpeng Ma --- diff --git a/src/osd/ReplicatedBackend.cc b/src/osd/ReplicatedBackend.cc index c5bc9c38756c..57d5e49b5844 100644 --- a/src/osd/ReplicatedBackend.cc +++ b/src/osd/ReplicatedBackend.cc @@ -758,14 +758,18 @@ void ReplicatedBackend::be_deep_scrub( uint32_t fadvise_flags = CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL | CEPH_OSD_OP_FLAG_FADVISE_DONTNEED; - while ( (r = store->read( - coll, - ghobject_t( - poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard), - pos, - cct->_conf->osd_deep_scrub_stride, bl, - fadvise_flags, true)) > 0) { + while (true) { handle.reset_tp_timeout(); + r = store->read( + coll, + ghobject_t( + poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard), + pos, + cct->_conf->osd_deep_scrub_stride, bl, + fadvise_flags, true); + if (r <= 0) + break; + h << bl; pos += bl.length(); bl.clear();