New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
osd: fixes to make rbd on ec work #12305
Conversation
…ned offset Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
The offending transaction was [call rbd.copyup,delete] on a non-existent object. PGTransaction incorrectly ended up with Create and delete_first causing a transaction beginning with trying to collection_move_rename a non-existent head object. In fact, if we delete an object which the transaction currently claims to be creating, the transaction should show as empty (for that object). Rather than going through the normal write pipeline for that case, let's just record a 0 error code in the log and call it a day. That way, the transaction generating code only needs to worry about about updates to actual objects. Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
If the state is flipped, ops already in the pipeline need to continue to maintain it. Signed-off-by: Samuel Just <sjust@redhat.com>
This way, the replies come back in order and we don't expose uncommitted results. Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
This way, we can deal with waiting_for_commit appropriately. Also, add more debugging to new_repop and already_*. Signed-off-by: Samuel Just <sjust@redhat.com>
This was always a pretty silly concept and it has gotten in the way of something else. Signed-off-by: Samuel Just <sjust@redhat.com>
Up to now, the repop machinery depended on all repops commiting and applying in order. For MOSDPGUpdateLogMissing operations, however, we don't really want to send two messages in the ECBackend case. Instead, just allow those repops to skip the applied stage and be completed in order once the repops ahead of them finish. Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
…e op This isn't really important, but it's nice to be consistent with OSD::reply_op_error. Yet another reason to do away with the ack flag. Signed-off-by: Samuel Just <sjust@redhat.com>
Now that repops can represent an error, we need to remember the error code so that we can reply to waiting_for_* messages with the right value. Signed-off-by: Samuel Just <sjust@redhat.com>
http://pulpito.ceph.com/samuelj-2016-12-04_06:16:17-rados-wip-sam-testing---basic-smithi/ -- 1 failure, unrelated mon valgrind thing Seems to be ready to merge. |
Merge ceph/ceph-qa-suite#1299 at the same time. |
No description provided.