]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: break out of read loop if we got zero bytes
authorYehuda Sadeh <yehuda@inktank.com>
Wed, 24 Oct 2012 18:26:53 +0000 (11:26 -0700)
committerYehuda Sadeh <yehuda@inktank.com>
Tue, 6 Nov 2012 18:16:17 +0000 (10:16 -0800)
If the part that we're reading is corrupted and we end up
reading zero bytes, we need to exit, otherwise we'd just
loop forever.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
src/rgw/rgw_op.cc

index bf4de3f2ea842fd901572064066ef400b66efe19..f227aa3208c05234e5a24b26ecdaa220feba0b18 100644 (file)
@@ -578,6 +578,13 @@ void RGWGetObj::execute()
       goto done;
     }
     len = ret;
+
+    if (!len) {
+      dout(0) << "WARNING: failed to read object, returned zero length" << dendl;
+      ret = -EIO;
+      goto done;
+    }
+
     ofs += len;
     ret = 0;