]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "rbd: ObjectCacher reads can hang when reading sparse files"
authorSage Weil <sage@redhat.com>
Fri, 24 Oct 2014 18:16:36 +0000 (11:16 -0700)
committerSage Weil <sage@redhat.com>
Fri, 24 Oct 2014 18:16:36 +0000 (11:16 -0700)
This reverts commit cdb7675a21c9107e3596c90c2b1598def3c6899f.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osdc/ObjectCacher.cc

index 5210e934c432c85f93868d2f9870caee9e569cc0..9b7f4c714ab6bf4737828687a1fc5b89c6fd1d21 100644 (file)
@@ -714,9 +714,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) {
@@ -771,6 +768,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;