The prior code caused binary omap values to be discarded. This fixes
them to use the same model as the xattr iterator, and correctly return
binary data as python strings, eg:
'object_prefix': '\x15\x00\x00\x00rbd_data.449d2ae8944a'
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
It was possible for unrelated ops to interleave within a different
transaction for a given object.
Fixes: #13313
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Class methods that use the cls_get_request_origin should not be
proxied to a base tier -- otherwise the origin will reflect the
cache tier instead of the client.
Fixes: #13380
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Fixes: #12958
Head objects are mutable, so removing them can race with object removal
and a later recreation, so we might end up cleaning them up when we don't
need to.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
The KeyServer class has a public method get_auth() that returns a boolean
value. This value is being checked here - fix the conditional so it triggers
when get_auth() returns false.
http://tracker.ceph.com/issues/9756 References: #9756
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Otherwise, ops with need_promote() can order past ops without it
causing an rgw write sequence like:
writefull 0~0
writefull 0~512kb
write 512kb~512kb
to reorder to
writefull 0~0 -- delayed: full
writefull 0~512kb -- delayed: full
write 512kb~512kb -- promote and execute
writefull 0~0 -- execute
writefull 0~512kb -- execute
Fixes: 13240
Signed-off-by: Samuel Just <sjust@redhat.com>
I guess this was handy when issuing single commands
from the CLI, but it breaks things badly when
trying to issue commands from a client
that's also going to carry on and do client IO.
Signed-off-by: John Spray <john.spray@redhat.com>
os/FileStore: kludge sloppy hammer temp objects into temp collection
Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
In particular, a file's current path might indicate no parent
because the initial link into the tree isn't committed yet.
Fixes: #13364
Signed-off-by: Sage Weil <sage@redhat.com>
This new command-line will dump all the processed events as they
are extracted from the trace file.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Avoid building the entire prep event history in memory before
attempting to write the prepped trace file.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Only track read-after-write and write-after-write IO dependencies
via the associated write completions. All IO events after a write
completion are considered to be dependent and can be pruned down
to at most the number of concurrent IOs. This reduces the prep
time from a simple 'rbd bench-write' from over 4 hrs down to seconds.
Fixes: #13378, #13384
Backport: hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>