Kefu Chai [Tue, 5 May 2015 07:07:33 +0000 (15:07 +0800)]
configure.ac: no use to add "+" before ac_ext=c
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 899dd23766c5ae6fef39bf24ef0692127d17deb3) Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Sage Weil [Mon, 14 Dec 2015 18:00:27 +0000 (13:00 -0500)]
osd/ReplicatedPG: do not set local_mtime on non-tiered pool
If a pool isn't tiered, don't bother with setting local_mtime. The only
users are the tiering agent (which isn't needed if there is not tiering)
and scrub for deciding if an object should get its digest recorded (we can
use mtime instead).
xiexingguo [Thu, 29 Oct 2015 12:04:11 +0000 (20:04 +0800)]
Objecter: pool_op callback may hang forever.
pool_op callback may hang forever due to osdmap update during reply handling. Fixes: #13642 Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 00c6fa9e31975a935ed2bb33a099e2b4f02ad7f2)
Jason Dillaman [Tue, 7 Jul 2015 16:11:13 +0000 (12:11 -0400)]
WorkQueue: new PointerWQ base class for ContextWQ
The existing work queues do not properly function if added to a running
thread pool. librbd uses a singleton thread pool which requires
dynamically adding/removing work queues as images are opened and closed.
Jason Dillaman [Mon, 9 Nov 2015 16:22:24 +0000 (11:22 -0500)]
librbd: fixed deadlock while attempting to flush AIO requests
In-flight AIO requests might force a flush if a snapshot was created
out-of-band. The flush completion was previously invoked asynchronously,
potentially via the same thread worker handling the AIO request. This
resulted in the flush operation deadlocking since it can't complete.
Fixes: #13726
Backport: infernalis, hammer Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit bfeb90e5fe24347648c72345881fd3d932243c98)
Over in the SUSE sector, we are trying to enable the SLE_12 and openSUSE_13.2
build targets. The lttng/babeltrace stuff is currently available only in
SLE_12.
lttng and babeltrace are build dependencies for rbd-replay-prep. Make
sure the right package names are used. Enable for SLE12, as well as
for openSUSE 13.1 and higher.
Move the BuildRequires out of the ceph-test subpackage and into the
distro-conditional dependencies section.
Make ordering of BuildRequires a little more alphabetical.
Ken Dreyer [Tue, 8 Sep 2015 16:41:02 +0000 (10:41 -0600)]
packaging: move rbd-replay* to ceph-common
The rbd-replay* utilities are useful for Ceph users with RBD clients.
Currently the rbd-replay* utilities ship in the "ceph-test" package, and
we intend this ceph-test package for Ceph developers and contributors,
not normal users.
Conflicts:
ceph.spec.in 50a33dea has not been backported to hammer
debian/ceph-test.install 50a33dea has not been backported to hammer
debian/control
different ceph-test Replaces: and Breaks: version
Boris Ranto [Fri, 23 Oct 2015 13:31:27 +0000 (15:31 +0200)]
init-rbdmap: Rewrite to use logger + clean-up
This patch rewrites the init-rbdmap init script so that it uses logger
instead of the log_* functions. The patch also fixes various smaller
bugs like:
* MAP_RV was undefined if mapping already existed
* UMNT_RV and UMAP_RV were almost always empty (if they succeeded) ->
removed them
* use of continue instead RET_OP in various places (RET_OP was not being
checked after the switch to logger messages)
* removed use of DESC (used only twice and only one occurrence actually
made sense)
Boris Ranto [Fri, 23 Oct 2015 14:39:16 +0000 (16:39 +0200)]
ceph.spec.in: We no longer need redhat-lsb-core
Drop the redhat-lsb-core dependency as it is no longer necessary on
fedora/rhel.
The other two init scripts do not use redhat-lsb-core either. The
init-ceph.in conditionally requires /lib/lsb/init-functions and does not
use any of the functions defined in that file (at least not directly).
The init-radosgw file includes /etc/rc.d/init.d/functions on non-debian
platforms instead of /lib/lsb/init-functions file so it does not require
redhat-lsb-core either.
Conflicts:
ceph.spec.in
Merge conflict because there were other commits that introduced systemd
& SUSE specific bits in the master which havent yet reached
hammer. Since this commit only removed redhat-lsb-core from *el distros
removing the specific lines
Jeff Weber [Wed, 5 Aug 2015 23:06:46 +0000 (19:06 -0400)]
rgw: implement s3 encoding-type for get bucket
This change introduces handling for the encoding-type request
parameter on the get bucket operation. An object key may contain
characters which are not supported in XML. Passing the value "url" for
the encoding-type parameter will cause the key to be urlencoded in the
response.
Ruifeng Yang [Fri, 25 Sep 2015 02:18:11 +0000 (10:18 +0800)]
Objecter: maybe access wild pointer(op) in _op_submit_with_budget.
look at "after giving up session lock it can be freed at any time by response handler" in _op_submit,
so the _op_submit_with_budget::op maybe is wild after call _op_submit.
Xinze Chi [Sun, 2 Aug 2015 10:36:40 +0000 (18:36 +0800)]
bug fix: osd: do not cache unused buffer in attrs
attrs only reference the origin bufferlist (decode from MOSDPGPush or
ECSubReadReply message) whose size is much greater than attrs in recovery.
If obc cache it (get_obc maybe cache the attr), this causes the whole origin
bufferlist would not be free until obc is evicted from obc cache. So rebuild
the bufferlist before cache it.
Fixes: #12565 Signed-off-by: Ning Yao <zay11022@gmail.com> Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
(cherry picked from commit c5895d3fad9da0ab7f05f134c49e22795d5c61f3)
Sage Weil [Wed, 28 Oct 2015 00:55:26 +0000 (20:55 -0400)]
crush/mapper: ensure bucket id is valid before indexing buckets array
We were indexing the buckets array without verifying the index was within
the [0,max_buckets) range. This could happen because a multistep rule
does not have enough buckets and has CRUSH_ITEM_NONE
for an intermediate result, which would feed in CRUSH_ITEM_NONE and
make us crash.
It turns out, despite the HTTP spec declaring that header field names
should be case-insensitive, some clients treat them wrongly, and
consider "Content-type" to not match "Content-Type".
CyberDuck was one of those clients, now fixed upstream in
https://trac.cyberduck.io/ticket/8999
To reduce future occurances of this bug, fix the casing of the
Content-Type header, to strictly comply with the HTTP specification (be
strict about what you send, and generous about what you receive).
Fixes: #12939
Backport: infernalis, hammer, firefly Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
(cherry picked from commit 1b9fbffdc24160251b96cec820d62fb2a12b6eab)
John Spray [Mon, 1 Jun 2015 12:55:22 +0000 (13:55 +0100)]
qa: update cephtool test for CephFS tier cases
1. Creating a filesystem using a
readonly tier on an EC pool (should be forbidden)
2. Removing a tier from a replicated base pool (should
be permitted)
Sage Weil [Tue, 22 Sep 2015 17:57:37 +0000 (13:57 -0400)]
osd: fix requeue of replay requests during activating
If the replay period expires while we are still in the activating
state, we can simply insert our list of requests at the front of
the waiting_for_active list.
xiexingguo [Tue, 13 Oct 2015 06:04:20 +0000 (14:04 +0800)]
OSD:shall reset primary and up_primary fields when beginning a new past_interval.
Shall reset primary and up_primary fields when we start over a new past_interval in OSD::build_past_intervals_parallel(). Fixes: #13471 Signed-off-by: xie.xingguo@zte.com.cn
(cherry picked from commit 65064ca05bc7f8b6ef424806d1fd14b87add62a4)
Fedora 12 has been EOL for a long time. Remove the reference in the
RPM .spec file.
Since RHEL 5 support for Ceph is a work in progress, we won't remove
this entire python_sitelib / python_sitearch conditional for now, since
those are still needed on RHEL 5.
Add the rhel_version macro to make the conditional compatible with
SUSE's OBS.