From 2c2d5c707efd5a90cf18bbe5be1288794792776f Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Tue, 22 Sep 2015 14:39:09 +0800 Subject: [PATCH] osd/ReplicatedBackend: Don't forget reset_tp_timeout for first read. Signed-off-by: Jianpeng Ma --- src/osd/ReplicatedBackend.cc | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/osd/ReplicatedBackend.cc b/src/osd/ReplicatedBackend.cc index c5bc9c38756c5..57d5e49b5844e 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(); -- 2.39.5