From: Sage Weil Date: Fri, 24 Oct 2014 18:06:08 +0000 (-0700) Subject: Revert "rbd: ObjectCacher reads can hang when reading sparse files" X-Git-Tag: v0.87~7^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=544b9a82d9cbb2ac4573e9fe0c0c46e649268b0c;p=ceph.git Revert "rbd: ObjectCacher reads can hang when reading sparse files" This reverts commit cdb7675a21c9107e3596c90c2b1598def3c6899f. Signed-off-by: Sage Weil --- diff --git a/src/osdc/ObjectCacher.cc b/src/osdc/ObjectCacher.cc index 93cede5b7b80..90bf03fd09b4 100644 --- a/src/osdc/ObjectCacher.cc +++ b/src/osdc/ObjectCacher.cc @@ -709,9 +709,6 @@ void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, ceph_tid_t tid, } } - ls.splice(ls.end(), waitfor_read); - waitfor_read.clear(); - // apply to bh's! loff_t opos = start; while (true) { @@ -766,6 +763,9 @@ void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, ceph_tid_t tid, loff_t oldpos = opos; opos = bh->end(); + ls.splice(ls.end(), waitfor_read); + waitfor_read.clear(); + if (r == -ENOENT) { if (trust_enoent) { ldout(cct, 10) << "bh_read_finish removing " << *bh << dendl;