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>
This test required root in order to copy its built
binary into /usr (presumably to avoid rebuilding it).
That's not really a good thing anyway because there's
no guarantee that a binary in that path is the binary
we wanted, so just run the thing straight out of /tmp. The
build is really quick anyway.
Signed-off-by: John Spray <john.spray@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
When we are running with a mixed hammer cluster, hammer primaries
will generate temp object names that are sloppy. Make sure we still
put them into the temp collection.
Note that this isn't a problem on write because the primary (hammer)
OSD generated the transaction and explicitly specified a temp
collection; it's only transactions we do on our own with the sloppy
temp ghobject_t that trip over this.
Fixes: #13395
Signed-off-by: Sage Weil <sage@redhat.com>
Since the main package and all the subpackages are built in the
same environment, concentrate all the BuildRequires in the main
package.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
"The --lazy-remove flag has been removed over 3 years ago. Docs need to be
updated."
http://tracker.ceph.com/issues/13317Fixes: #13317
Signed-off-by: Nathan Cutler <ncutler@suse.com>
We may be only calculating older past intervals and have a valid
history.same_interval_since value, in which case the local
same_interval_since value will end at the newest old interval we had to
generate.
This was introduced by 70316541bb.
Signed-off-by: Sage Weil <sage@redhat.com>
If there is a deep bug that prevents the object map from owning
the lock before objects are updated, flag the object map as invalid
regardless.
Fixes: #13372
Backport: hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The SELinux man page was previously located in two places and the man
page that was supposed to be updated when rgw selinux changes were
proposed did not get updated properly. Fixing this by moving
selinux/ceph_selinux.8 to man/ceph_selinux.8. Also, populate EXTRA_DIST
with ceph_selinux.8.
Signed-off-by: Boris Ranto <branto@redhat.com>
A proxied session (see handle_forward) isn't registered, so it doesn't
need remove_session. Moreover, s->con is null, so it will crash in
remove_session.
Fixes: #13379
Signed-off-by: Sage Weil <sage@redhat.com>