From 19a210a0e75b5bfdd9d8f0d4d21d9403b22dac95 Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Fri, 24 Jul 2015 10:12:51 +0800 Subject: [PATCH] osd: make read(off=0,len=0) ec-object work. When len=0, it mean read the whole object. It can work when reading no-ec object off=0 & len=0. But for ec-object, it can't work. Signed-off-by: Jianpeng Ma --- src/osd/ReplicatedPG.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index eb93b30bd0af8..46392773f3b2a 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -3845,6 +3845,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) (op.extent.offset + op.extent.length > op.extent.truncate_size) ) size = op.extent.truncate_size; + if (op.extent.length == 0) //length is zero mean read the whole object + op.extent.length = size; + if (op.extent.offset >= size) { op.extent.length = 0; trimmed_read = true; -- 2.39.5