]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/kstore: make fiemap behave past EOF
authorSage Weil <sage@redhat.com>
Fri, 8 Jan 2016 16:17:02 +0000 (11:17 -0500)
committerSage Weil <sage@redhat.com>
Fri, 8 Jan 2016 18:10:20 +0000 (13:10 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/kstore/KStore.cc

index ff5e6896c535aef4c6632236b6a7cd34198e0713..841c6380b9f0726b2d0481955299acef8f21fc88 100644 (file)
@@ -1613,7 +1613,7 @@ int KStore::fiemap(
     len = o->onode.size;
 
   if (offset > o->onode.size)
-    return 0;
+    goto out;
 
   if (offset + len > o->onode.size) {
     len = o->onode.size - offset;
@@ -1621,8 +1621,11 @@ int KStore::fiemap(
 
   dout(20) << __func__ << " " << offset << "~" << len << " size "
           << o->onode.size << dendl;
+
   // FIXME: do something smarter here
   m[0] = o->onode.size;
+
+ out:
   ::encode(m, bl);
   dout(20) << __func__ << " " << offset << "~" << len
           << " size = 0 (" << m << ")" << dendl;