Skip to content

Commit

Permalink
Merge pull request #55570 from rzarzynski/wip-bug-64192
Browse files Browse the repository at this point in the history
osd: always send returnvec-on-errors for client's retry
  • Loading branch information
ljflores committed Feb 16, 2024
2 parents b9b81d2 + 6135757 commit af013c6
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/osd/PrimaryLogPG.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4288,8 +4288,11 @@ void PrimaryLogPG::execute_ctx(OpContext *ctx)
}
reply->add_flags(CEPH_OSD_FLAG_ACK | CEPH_OSD_FLAG_ONDISK);
// append to pg log for dup detection - don't save buffers for now
record_write_error(op, soid, reply, result,
ctx->op->allows_returnvec() ? ctx : nullptr);
// store op's returnvec unconditionally-on-errors to ensure coherency
// with the original request handling (see `ignore_out_data` above).
record_write_error(
op, soid, reply, result,
(ctx->op->allows_returnvec() || result < 0) ? ctx : nullptr);
close_op_ctx(ctx);
return;
}
Expand Down

0 comments on commit af013c6

Please sign in to comment.