It appears that the OSD is not filling in the individual return codes, and they
should be equivalent for all purposes we care about here (the only Op we are
doing is the copy-get, and if it fails we are getting its failure code).
Reported-by: Sage Weil <sage@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
dout(10) << __func__ << " fetching more" << dendl;
_copy_some(obc, cop);
return;
- } else {
- _build_finish_copy_transaction(cop, results.get<3>());
- results.get<1>() = cop->temp_cursor.data_offset;
}
+ _build_finish_copy_transaction(cop, results.get<3>());
+ results.get<1>() = cop->temp_cursor.data_offset;
}
dout(20) << __func__ << " complete; committing" << dendl;
- results.get<0>() = cop->rval;
+ results.get<0>() = r;
cop->cb->complete(results);
copy_ops.erase(obc->obs.oi.soid);