]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoCrushWrapper: pick a ruleset same as rule_id 2776/head
Xiaoxi Chen [Wed, 20 Aug 2014 07:35:44 +0000 (15:35 +0800)]
CrushWrapper: pick a ruleset same as rule_id

Originally in the add_simple_ruleset funtion, the ruleset_id
is not reused but rule_id is reused. So after some add/remove
against rules, the newly created rule likely to have
ruleset!=rule_id.

We dont want this happen because we are trying to hold the constraint
that ruleset == rule_id.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
(cherry picked from commit 78e84f34da83abf5a62ae97bb84ab70774b164a6)

Conflicts:
src/test/erasure-code/TestErasureCodeIsa.cc

Fixes: #9675
10 years agoRevert "os/FileJournal: stop aio completion thread *after* writer thread"
Sage Weil [Tue, 21 Oct 2014 13:53:36 +0000 (06:53 -0700)]
Revert "os/FileJournal: stop aio completion thread *after* writer thread"

This reverts commit 334631ae4641824b3df49245f36a8fd4b143bf3f.

10 years agoMerge pull request #2716 from ceph/wip-firefly-9419
Samuel Just [Fri, 17 Oct 2014 17:47:22 +0000 (10:47 -0700)]
Merge pull request #2716 from ceph/wip-firefly-9419

Backport fix for bug #9419

10 years agoMerge pull request #2724 from dachary/wip-9073-journal-aio-mode-firefly
Samuel Just [Fri, 17 Oct 2014 17:44:30 +0000 (10:44 -0700)]
Merge pull request #2724 from dachary/wip-9073-journal-aio-mode-firefly

os/FileJournal: stop aio completion thread *after* writer thread

10 years agoMerge pull request #2742 from ceph/firefly-unknown-locktype
Sage Weil [Fri, 17 Oct 2014 15:20:53 +0000 (08:20 -0700)]
Merge pull request #2742 from ceph/firefly-unknown-locktype

mds: reply -EOPNOTSUPP for unknown lock type

10 years agomds: reply -EOPNOTSUPP for unknown lock type 2742/head
Yan, Zheng [Tue, 14 Oct 2014 14:02:41 +0000 (22:02 +0800)]
mds: reply -EOPNOTSUPP for unknown lock type

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 675392335c53ff7879031fb9184e4f35bcc90fe2)

10 years agoMerge pull request #2734 from ceph/wip-firefly-undump
Sage Weil [Thu, 16 Oct 2014 13:09:51 +0000 (06:09 -0700)]
Merge pull request #2734 from ceph/wip-firefly-undump

mds: fix --undump-journal

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agomds: fix --undump-journal 2734/head
John Spray [Thu, 16 Oct 2014 10:17:40 +0000 (11:17 +0100)]
mds: fix --undump-journal

This hadn't worked for a long time.  This is a fix
for firefly only, as this code was refactored in giant.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoqa/workunits/rbd/import_export.sh: be case insensitive
Sage Weil [Wed, 15 Oct 2014 19:26:00 +0000 (12:26 -0700)]
qa/workunits/rbd/import_export.sh: be case insensitive

Stop tripping over this change (from dumpling).

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 5558afa03dbd1b20766b76e9410ef5bc3e73784f)

10 years agoos/FileJournal: stop aio completion thread *after* writer thread 2724/head
Sage Weil [Sat, 30 Aug 2014 02:40:29 +0000 (19:40 -0700)]
os/FileJournal: stop aio completion thread *after* writer thread

The writer thread may submit a new aio to update the header in its
final moments before shutting down.  Do not stop the aio thread until after
that has happened or else we may not wait for those aio completions.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c776a89880fdac270e6334ad8e49fa616d05d0d4)

Conflicts:
src/os/FileJournal.cc

10 years agoMerge remote-tracking branch 'gh/firefly' into firefly-next
Sage Weil [Tue, 14 Oct 2014 21:57:42 +0000 (14:57 -0700)]
Merge remote-tracking branch 'gh/firefly' into firefly-next

10 years ago0.80.7 v0.80.7
Jenkins [Tue, 14 Oct 2014 19:10:38 +0000 (12:10 -0700)]
0.80.7

10 years agomon/OSDMonitor : Use user provided ruleset for replicated pool
Xiaoxi Chen [Tue, 5 Aug 2014 08:12:22 +0000 (16:12 +0800)]
mon/OSDMonitor : Use user provided ruleset for replicated pool

When creating a replicated pool, currently ceph ignore the ruleset
name provided by user but use a global default ruleset.

This patch fix this bug, so the rulset specified by
ceph osd pool create replicated
can be properly set.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
(cherry picked from commit bf9726a294abd32b429170284ac328a592802648)

10 years agodocumentation: update osd pool create erasure
Loic Dachary [Tue, 3 Jun 2014 11:05:19 +0000 (13:05 +0200)]
documentation: update osd pool create erasure

The properties are replaced with erasure code profiles. Remove the
reference to properties and the documentation of each erasure-code
related property.

Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 8ff4edda73abb920c91e1226a330e3659def1fbe)

10 years agoosd: Return EOPNOTSUPP if a set-alloc-hint occurs with OSDs that don't support 2716/head
David Zafman [Wed, 24 Sep 2014 23:02:21 +0000 (16:02 -0700)]
osd: Return EOPNOTSUPP if a set-alloc-hint occurs with OSDs that don't support

Add CEPH_FEATURE_OSD_SET_ALLOC_HINT feature bit
Collect the intersection of all peer feature bits during peering
When handling CEPH_OSD_OP_SETALLOCHINT check that all OSDs support it
by checking for CEPH_FEATURE_OSD_SET_ALLOC_HINT feature bit.

Fixes: #9419
Backport: firefly

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 9b39033f2b2bcdd2be0f6da4dff06023d0f77499)

Conflicts:

src/include/ceph_features.h
src/osd/PG.cc
src/osd/PG.h
src/osd/ReplicatedPG.cc

10 years agoosd: Remove unused PG functions queue_notify(), queue_info(), queue_log()
David Zafman [Fri, 19 Sep 2014 22:12:55 +0000 (15:12 -0700)]
osd: Remove unused PG functions queue_notify(), queue_info(), queue_log()

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 70ef4c11cbae669799c30c7592073ad7aa11dcd6)

10 years agoMerge remote-tracking branch 'origin/wip-7588-firefly' into firefly
Samuel Just [Mon, 13 Oct 2014 17:34:47 +0000 (10:34 -0700)]
Merge remote-tracking branch 'origin/wip-7588-firefly' into firefly

10 years agoMerge remote-tracking branch 'upstream/wip-9696-firefly' into firefly
Samuel Just [Mon, 13 Oct 2014 17:34:34 +0000 (10:34 -0700)]
Merge remote-tracking branch 'upstream/wip-9696-firefly' into firefly

10 years agoosd/ReplicatedPG: carry CopyOpRef in copy_from completion
Sage Weil [Thu, 8 May 2014 21:19:22 +0000 (14:19 -0700)]
osd/ReplicatedPG: carry CopyOpRef in copy_from completion

There is a race with copy_from cancellation.  The internal Objecter
completion decodes a bunch of data and copies it into pointers provided
when the op is queued.  When we cancel, we need to ensure that we can cope
until control passes back to our provided completion.

Once we *do* get into the (ReplicatedPG) callbacks, we will bail out
because the tid in the CopyOp or FlushOp no longer matches.

Fix this by carrying a ref to keep the copy-from targets alive, and
clearing out the tids that we cancel.

Note that previously, the trigger for this was that the tid changes when
we handle a redirect, which made the op_cancel() call fail.  With the
coming Objecter changes, this will no longer be the case.  However, there
are also locking and threading changes that will make cancellation racy,
so we will not be able to rely on it always preventing the callback.
Either way, this will avoid the problem.

Fixes: #7588
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 589b639af7c8834a1e6293d58d77a9c440107bc3)

10 years agoPG::choose_acting: in mixed cluster case, acting may include backfill
Samuel Just [Thu, 9 Oct 2014 23:21:18 +0000 (16:21 -0700)]
PG::choose_acting: in mixed cluster case, acting may include backfill

Fixes: 9696
Backport: firefly, giant
Introduced: 92cfd370395385ca5537b5bc72220934c9f09026
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 9b18d99817c8b54e30dff45047dfe1b29871d659)

10 years agoPGLog::IndexedLog::trim(): rollback_info_trimmed_to_riter may be log.rend()
Samuel Just [Fri, 10 Oct 2014 20:53:29 +0000 (13:53 -0700)]
PGLog::IndexedLog::trim(): rollback_info_trimmed_to_riter may be log.rend()

Fixes: #9731
Backport: giant, firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit d458b4f0f31161f561ff98e58ed979cf20c6f588)

10 years agoMerge pull request #2691 from ceph/firefly-unused-variable
Gregory Farnum [Fri, 10 Oct 2014 13:57:06 +0000 (06:57 -0700)]
Merge pull request #2691 from ceph/firefly-unused-variable

Firefly unused variable

10 years agomds: Locker: remove unused variable 2691/head
Yan, Zheng [Fri, 10 Oct 2014 13:36:39 +0000 (21:36 +0800)]
mds: Locker: remove unused variable

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #2681 from ceph/firefly-locker-null
Yan, Zheng [Fri, 10 Oct 2014 01:37:53 +0000 (09:37 +0800)]
Merge pull request #2681 from ceph/firefly-locker-null

mds: Locker: fix a NULL deref in _update_cap_fields

10 years agomds: Locker: fix a NULL deref in _update_cap_fields 2681/head
Greg Farnum [Thu, 9 Oct 2014 22:12:19 +0000 (15:12 -0700)]
mds: Locker: fix a NULL deref in _update_cap_fields

The MClientCaps* is allowed to be NULL, so we can't deref it unless
the dirty param is non-zero. So don't do the ahead-of-time lookup;
just call it explicitly in the if block.

Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 3cd8a7fb9683577a7d6e934f18c29b7e84415be6)

10 years agoMerge pull request #2662 from dachary/wip-9677-ioprio-class-firefly
Loic Dachary [Wed, 8 Oct 2014 06:44:46 +0000 (08:44 +0200)]
Merge pull request #2662 from dachary/wip-9677-ioprio-class-firefly

common: ceph_ioprio_string_to_class always returns -EINVAL

10 years agocommon: ceph_ioprio_string_to_class always returns -EINVAL 2662/head
Loic Dachary [Tue, 7 Oct 2014 12:06:38 +0000 (14:06 +0200)]
common: ceph_ioprio_string_to_class always returns -EINVAL

The l string is always empty because std::transform needs a
pre-allocated string. Replace with the in-place version. Add unit tests.

http://tracker.ceph.com/issues/9677 Fixes: #9677

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 3535b7aba3df8b54fa5117b8a9c2f52b8f0f118b)

Conflicts:
src/test/Makefile.am

10 years agoosd: log error if set_ioprio fails to parse class
Loic Dachary [Tue, 7 Oct 2014 12:05:08 +0000 (14:05 +0200)]
osd: log error if set_ioprio fails to parse class

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 5088e0d49332d579ba7e33c2c9baee3d5f701a3e)

10 years agocommon: set_ioprio debug message including pid
Loic Dachary [Tue, 7 Oct 2014 12:03:39 +0000 (14:03 +0200)]
common: set_ioprio debug message including pid

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 33339c7754875eb7e513345ee6b26a9b2b4d2707)

10 years agocommon: do not set ioprio if pid is not set
Loic Dachary [Tue, 7 Oct 2014 12:02:09 +0000 (14:02 +0200)]
common: do not set ioprio if pid is not set

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit c7e4c0bfe70bf29d3b8fe4df4e4b934853e33d26)

10 years agoMerge pull request #2632 from ceph/wip-9039-firefly
Sage Weil [Tue, 7 Oct 2014 16:58:03 +0000 (09:58 -0700)]
Merge pull request #2632 from ceph/wip-9039-firefly

rgw: copy object data if target bucket is in a different pool

10 years agodebian/control: fix python-ceph -> ceph file move to allow upgrades
Sage Weil [Mon, 6 Oct 2014 22:50:51 +0000 (15:50 -0700)]
debian/control: fix python-ceph -> ceph file move to allow upgrades

This is a backport of 5c6c366d2abe771c581690270c2d176ebb30c571 with the
version numbers changed, to compensate for the change in
fe3434f41cd09433975d7d0f9dbb2fae662e4a1b (backported in
bf1933e5c184476a354664c42fec834e9f59067c).

Tested-by: Tamil Muthamizhan <tamil.muthamizhan@inktank.com>
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge remote-tracking branch 'gh/wip-rpm-epoch-firefly' into firefly
Sage Weil [Mon, 6 Oct 2014 14:01:50 +0000 (07:01 -0700)]
Merge remote-tracking branch 'gh/wip-rpm-epoch-firefly' into firefly

Reviewed-by: Boris Ranto <branto@redhat.com>
10 years agoMerge pull request #2643 from johnugeorge/wip-9492-crush-firefly
Loic Dachary [Mon, 6 Oct 2014 07:50:33 +0000 (09:50 +0200)]
Merge pull request #2643 from johnugeorge/wip-9492-crush-firefly

Crush: Backporting fixes for #9492 to firefly

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agoCrush: Ensuring at most num-rep osds are selected 2643/head
Johnu George [Mon, 29 Sep 2014 17:07:44 +0000 (10:07 -0700)]
Crush: Ensuring at most num-rep osds are selected

Crush temporary buffers are allocated as per replica size configured
by the user.When there are more final osds (to be selected as per
rule) than the replicas, buffer overlaps and it causes crash.Now, it
ensures that at most num-rep osds are selected even if more number of
osds are allowed by indep rule. The fix for firstn rules is already
merged as part of bug #9492. Required test files are added.

Fixes: #9492
Signed-off-by: Johnu George johnugeo@cisco.com
(cherry picked from commit 234b066ba04976783d15ff2abc3e81b6cc06fb10)

10 years agoCrush: Ensuring at most num-rep osds are selected
Johnu George [Wed, 24 Sep 2014 16:32:50 +0000 (09:32 -0700)]
Crush: Ensuring at most num-rep osds are selected

Crush temporary buffers are allocated as per replica size configured
by the user.When there are more final osds (to be selected as per
rule) than the replicas, buffer overlaps and it causes crash.Now, it
ensures that at most num-rep osds are selected even if more number of
osds are allowed by the rule.

Fixes: #9492
Signed-off-by: Johnu George <johnugeo@cisco.com>
(cherry picked from commit 6b4d1aa99718e3b367496326c1e64551330fabc0)

10 years agoMerge pull request #2634 from dachary/wip-9653-ceph-disk-bootstrap-osd-firefly
Sage Weil [Fri, 3 Oct 2014 18:58:41 +0000 (11:58 -0700)]
Merge pull request #2634 from dachary/wip-9653-ceph-disk-bootstrap-osd-firefly

ceph-disk: bootstrap-osd keyring ignores --statedir (firefly)

10 years agoceph.spec: fix typo 2638/head
Sage Weil [Wed, 1 Oct 2014 19:33:38 +0000 (12:33 -0700)]
ceph.spec: fix typo

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit da9ae5c92ecb4059e0ec6be5ce03af46430e76a5)

10 years agoceph.spec.: add epoch
Sage Weil [Wed, 1 Oct 2014 13:02:02 +0000 (06:02 -0700)]
ceph.spec.: add epoch

This is done in fedora packaging.  Do it here too so that you can move
between upstream packages (from ceph.com) and fedora and other derivatives
will builds.

Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 83888362089346e473d6fd6e1d366b826d7bd739)

Conflicts:

ceph.spec.in

10 years agoceph.spec.in: remove BuildRoot
Sage Weil [Tue, 20 May 2014 20:41:35 +0000 (13:41 -0700)]
ceph.spec.in: remove BuildRoot

Deprecated

Fixes: #8143
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 401319a1527dd9cb5398916105d31e7ec065763d)

10 years agoceph.spec.in: tests for rhel or centos need to not include _version
Dan Mick [Tue, 12 Aug 2014 23:31:22 +0000 (16:31 -0700)]
ceph.spec.in: tests for rhel or centos need to not include _version

rhel_version and centos_version are apparently the OpenSUSE Build
names; the native macros are just "rhel" and "centos" (and contain
a version number, should it be necessary).

Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 7474f720c2418cf3d52b755f2b60c524e413570a)

10 years agoceph.spec.in: Add a small comment on the empty %files section
Dan Mick [Tue, 12 Aug 2014 21:46:52 +0000 (14:46 -0700)]
ceph.spec.in: Add a small comment on the empty %files section

as suggested by Dan Mick.

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
(cherry picked from commit e37b262c7928934530c5bb09fe56f83eb61f4244)

10 years agoceph.spec.in: Obsolete all older versions.
Dan Mick [Tue, 12 Aug 2014 21:39:18 +0000 (14:39 -0700)]
ceph.spec.in: Obsolete all older versions.

Now this changeset can be used on all current ceph releases that already
have the package split.

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
(cherry picked from commit 875a99e25f0ad2cb47149a3b5a28b4771a09125c)

10 years agoceph.spec.in: No version on ceph-libs Obsoletes.
Dan Mick [Tue, 12 Aug 2014 21:09:43 +0000 (14:09 -0700)]
ceph.spec.in: No version on ceph-libs Obsoletes.

If we are installing with the new package structure we don't ever want the
new package to co-exist with the old one; this includes the mistakenly-
released v0.81 on Fedora, which should be removed in favor of this
version.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 8f95daf66b5fdb2a8141988480f984c1249599c5)

10 years agoceph.spec.in: Obselete ceph-libcephfs (not libcephfs)
Sandon Van Ness [Sat, 9 Aug 2014 01:01:30 +0000 (18:01 -0700)]
ceph.spec.in: Obselete ceph-libcephfs (not libcephfs)

I am guessing that because it was a sub-package libcephfs was mistakenly
used instead of ceph-libcephfs.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit 75985024bd30ca6fbe4c61aa7f7cbe5306c9a988)

10 years agoceph.spec.in: We need those nice recent changes for rhel7 in Fedora too.
Erik Logtenberg [Fri, 1 Aug 2014 12:20:18 +0000 (14:20 +0200)]
ceph.spec.in: We need those nice recent changes for rhel7 in Fedora too.

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
(cherry picked from commit 00877ae502ac52613bcd5c5c834d72787d668dca)

10 years agoMove fedora patch file (used by ceph.spec.in) to rpm/ subdir
Dan Mick [Wed, 27 Aug 2014 19:56:43 +0000 (12:56 -0700)]
Move fedora patch file (used by ceph.spec.in) to rpm/ subdir

Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 06b92cee621cbe33a6f17e8c64169db4453a5160)

10 years agoceph.spec.in, init-ceph.in: Don't autostart ceph service on Fedora.
Erik Logtenberg [Thu, 31 Jul 2014 22:13:50 +0000 (00:13 +0200)]
ceph.spec.in, init-ceph.in: Don't autostart ceph service on Fedora.

This patch is taken from the current Fedora package and makes the upstream
ceph.spec compliant with Fedora policy. The goal is to be fully compliant
upstream so that we can replace current Fedora package with upstream
package to fix many bugs in Fedora.

Addition from Dan Mick <dan.mick@inktank.com>:
Do this for RHEL and Centos as well, since they surely will benefit
from the same policy.   Note: this requires changes to
autobuild-ceph and ceph-build scripts, which currently copy
only the dist tarball to the rpmbuild/SOURCES dir.

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
Signed-off-by: Dan Mick <dan.mick@inktank.com>:
(cherry picked from commit 461523b06cdf93e32f1d8b354ac3799e73162d33)

10 years agoceph.spec.in: Add obsoletes for libcephfs
Erik Logtenberg [Thu, 31 Jul 2014 21:54:03 +0000 (23:54 +0200)]
ceph.spec.in: Add obsoletes for libcephfs

This fixes a bug for Fedora:
https://bugzilla.redhat.com/show_bug.cgi?id=1116614

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
(cherry picked from commit e9da2d8f2142771f206ef67f19e7f194855275d0)

10 years agoceph.spec.in: add ceph-libs-compat
Erik Logtenberg [Thu, 31 Jul 2014 21:49:56 +0000 (23:49 +0200)]
ceph.spec.in: add ceph-libs-compat

Added a ceph-libs-compat package in accordance with Fedora packaging
guidelines [1], to handle the recent package split more gracefully.
In Fedora this is necessary because there are already other packages
depending on ceph-libs, that need to be adjusted to depend on the new
split packages instead. In the mean time, ceph-libs-compat prevents
breakage.

[1] http://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
(cherry picked from commit 6c264f2204cbd54d90b02101e40ac9aa5aa72d7c)

Conflicts:

ceph.spec.in

10 years agomon/Paxos: add perfcounters for most paxos operations
Sage Weil [Sun, 10 Aug 2014 21:41:19 +0000 (14:41 -0700)]
mon/Paxos: add perfcounters for most paxos operations

I'm focusing primarily on the ones that result in IO here.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b09b8563d35dda23faed43afef2a983e93a879c5)

10 years agomon/MonitorDBStore: add get_{keys,bytes}() accounting to Transaction
Sage Weil [Sun, 10 Aug 2014 21:00:11 +0000 (14:00 -0700)]
mon/MonitorDBStore: add get_{keys,bytes}() accounting to Transaction

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit fd421b26748e872ddf8e0f068dda2106853edff1)

10 years agoceph-disk: bootstrap-osd keyring ignores --statedir 2634/head
Loic Dachary [Fri, 3 Oct 2014 12:08:57 +0000 (14:08 +0200)]
ceph-disk: bootstrap-osd keyring ignores --statedir

The STATEDIR variable is used to initialize the bootstrap-osd keyring
before it gets a chance to be overriden by --statedir. Replace it with
{statedir} so that it can be substituted after all options have been
parsed.

http://tracker.ceph.com/issues/9653 Fixes: #9653

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit fa0bd06b4657e5b84e237b76033ac3d3478b6a1f)

10 years agorgw: copy object data if target bucket is in a different pool 2632/head
Yehuda Sadeh [Tue, 12 Aug 2014 20:36:11 +0000 (13:36 -0700)]
rgw: copy object data if target bucket is in a different pool

Fixes: #9039
Backport: firefly

The new manifest does not provide a way to put the head and the tail in
separate pools. In any case, if an object is copied between buckets in
different pools, we may really just want the object to be copied, rather
than reference counted.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 5d3a7e595f47455896304bf358e5251915d0f16f)

10 years agorbd: ObjectCacher reads can hang when reading sparse files
Jason Dillaman [Mon, 15 Sep 2014 04:53:50 +0000 (00:53 -0400)]
rbd: ObjectCacher reads can hang when reading sparse files

The pending read list was not properly flushed when empty objects
were read from a space file.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit cdb7675a21c9107e3596c90c2b1598def3c6899f)

10 years agoEnforce cache size on read requests
Jason Dillaman [Sun, 7 Sep 2014 02:59:40 +0000 (22:59 -0400)]
Enforce cache size on read requests

In-flight cache reads were not previously counted against
new cache read requests, which could result in very large
cache usage.  This effect is most noticeable when writing
small chunks to a cloned image since each write requires
a full object read from the parent.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 4fc9fffc494abedac0a9b1ce44706343f18466f1)

10 years agorgw: add .log to default log path
Alexandre Marangone [Fri, 5 Sep 2014 17:36:24 +0000 (10:36 -0700)]
rgw: add .log to default log path

Fixes: #9353
Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
(cherry picked from commit 46732420897a2619059050044f4980a4737df43e)

10 years agoMerge pull request #2565 from ceph/wip-rgw-firefly-backports
Yehuda Sadeh [Thu, 2 Oct 2014 22:28:40 +0000 (15:28 -0700)]
Merge pull request #2565 from ceph/wip-rgw-firefly-backports

Wip rgw firefly backports

10 years agoosdc/Objecter: only post_rx_buffer if no op timeout
Sage Weil [Thu, 25 Sep 2014 20:16:52 +0000 (13:16 -0700)]
osdc/Objecter: only post_rx_buffer if no op timeout

If we post an rx buffer and there is a timeout, the revocation can happen
while the reader has consumed the buffers but before it has decoded and
constructed the message.  In particular, we calculate a crc32c over the
data portion of the message after we've taken the buffers and dropped the
lock.

Instead of fixing this race (for example, by reverifying rx_buffers under
the lock while calculating the crc.. bleh), just skip the rx buffer
optimization entirely when a timeout is present.

Note that this doesn't cover the op_cancel() paths, but none of those users
provide static buffers to read into.

Fixes: #9582
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
backport of 126d0b30e990519b8f845f99ba893fdcd56de447

10 years agodebian: move ceph_rest_api.py into ceph
Sage Weil [Mon, 29 Sep 2014 21:28:32 +0000 (14:28 -0700)]
debian: move ceph_rest_api.py into ceph

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit fe3434f41cd09433975d7d0f9dbb2fae662e4a1b)

10 years agoceph.spec.in: move ceph_rest_api.py into ceph
Sage Weil [Mon, 29 Sep 2014 21:24:01 +0000 (14:24 -0700)]
ceph.spec.in: move ceph_rest_api.py into ceph

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 8cda623e0ba34a48a70e9ea988d619b15605c4fd)

10 years agoceph.spec: fix python-flask dependency
Sage Weil [Mon, 29 Sep 2014 20:44:03 +0000 (13:44 -0700)]
ceph.spec: fix python-flask dependency

This is needed by ceph-rest-api, which is in ceph.rpm; it's not related to
python-ceph (except that ceph-rest-api happens to require that too).

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b2416240b88b2e067dfc79a2723335f1584562d0)

10 years agodebian: python-flask is needed by ceph, not python-ceph
Sage Weil [Mon, 29 Sep 2014 20:40:18 +0000 (13:40 -0700)]
debian: python-flask is needed by ceph, not python-ceph

It's used by ceph-rest-api which is in the 'ceph' (server) package.

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit e42424e777e4f7d8b03650482253734c1fa8709d)

Conflicts:

debian/control

10 years agorgw_main.cc: add missing virtual destructor for RGWRequest
Danny Al-Gaaf [Fri, 19 Sep 2014 10:25:07 +0000 (12:25 +0200)]
rgw_main.cc: add missing virtual destructor for RGWRequest

CID 1160858 (#1 of 1): Non-virtual destructor (VIRTUAL_DTOR)
 nonvirtual_dtor: Class RGWLoadGenRequest has a destructor
 and a pointer to it is upcast to class RGWRequest which doesn't
 have a virtual destructor.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit b82ceda7775ff85943d9143b73789eb37b09bfa9)

10 years agoLocker: accept ctime updates from clients without dirty write caps
Greg Farnum [Mon, 29 Sep 2014 23:10:36 +0000 (16:10 -0700)]
Locker: accept ctime updates from clients without dirty write caps

The ctime changes any time the inode does. That can happen even without
the file itself having changed, so we'd better accept the update whenever
the auth caps have dirtied, without worrying about the file caps!

Fixes: #9514
Backport: firefly

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 0ea20a668cf859881c49b33d1b6db4e636eda18a)

10 years agodoc/release-notes: fix attributions for 8702 fix
Sage Weil [Thu, 2 Oct 2014 01:01:51 +0000 (18:01 -0700)]
doc/release-notes: fix attributions for 8702 fix

Oops!

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 188370a94353e29fcb8981699022803e23f3fedd)

10 years agodoc/release-notes: v0.80.6
Sage Weil [Thu, 2 Oct 2014 00:48:12 +0000 (17:48 -0700)]
doc/release-notes: v0.80.6

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c0dc3a56974a469b61523b67cc032cc5726a3a5f)

Conflicts:

doc/release-notes.rst

10 years agocommon: Add cctid meta variable
Adam Crume [Thu, 18 Sep 2014 23:57:27 +0000 (16:57 -0700)]
common: Add cctid meta variable

Fixes: #6228
Signed-off-by: Adam Crume <adamcrume@gmail.com>
(cherry picked from commit bb45621cb117131707a85154292a3b3cdd1c662a)

10 years ago0.80.6 v0.80.6
Jenkins [Wed, 1 Oct 2014 16:37:12 +0000 (09:37 -0700)]
0.80.6

10 years agoMerge pull request #2603 from dachary/wip-9620-test-mon-thrash-firefly
Sage Weil [Mon, 29 Sep 2014 20:55:02 +0000 (13:55 -0700)]
Merge pull request #2603 from dachary/wip-9620-test-mon-thrash-firefly

qa/workunits/cephtool/test.sh: fix thrash (ultimate)

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoqa/workunits/cephtool/test.sh: fix thrash (ultimate) 2603/head
Loic Dachary [Mon, 29 Sep 2014 11:47:06 +0000 (13:47 +0200)]
qa/workunits/cephtool/test.sh: fix thrash (ultimate)

Keep the osd trash test to ensure it is a valid command but make it a
noop by giving it a zero argument (meaning thrash 0 OSD maps).

Remove the loops that were added after the command in an attempt to wait
for the cluster to recover and not pollute the rest of the tests. Actual
testing of osd thrash would require a dedicated cluster because it the
side effects are random and it is unnecessarily difficult to ensure they
are finished.

http://tracker.ceph.com/issues/9620 Fixes: #9620

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit beade63a17db2e6fc68d1f55332d602f8f7cb93a)

Conflicts:
qa/workunits/cephtool/test.sh

10 years agoMerge pull request #2576 from ceph/wip-9593
Josh Durgin [Thu, 25 Sep 2014 17:08:03 +0000 (10:08 -0700)]
Merge pull request #2576 from ceph/wip-9593

osd/ReplicatedPG: fix objecter locking in start_flush

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
10 years agoosd/ReplicatedPG: fix objecter locking in start_flush 2576/head
Sage Weil [Thu, 25 Sep 2014 16:59:29 +0000 (09:59 -0700)]
osd/ReplicatedPG: fix objecter locking in start_flush

Broken in backport fd96eb62ece27f5c660429584c2ff2e058bc6e94.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agorgw: calculate hash after writing data 2565/head
Yehuda Sadeh [Fri, 19 Sep 2014 03:53:10 +0000 (20:53 -0700)]
rgw: calculate hash after writing data

Since data is written asynchronously, we should do the hash calculation
while it's pending.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 5bb94ede19a50543a02a8019ed6c9680b3852d4e)

10 years agocrypto: don't hash zero sized buffer
Yehuda Sadeh [Fri, 19 Sep 2014 03:51:02 +0000 (20:51 -0700)]
crypto: don't hash zero sized buffer

libnss returns an error and we assert in that case.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 7b137246b49a9f0b4d8b8d5cebfa78cc1ebd14e7)

10 years agorgw: push hash calculater deeper
Yehuda Sadeh [Fri, 12 Sep 2014 21:07:44 +0000 (14:07 -0700)]
rgw: push hash calculater deeper

This might have been the culprit for #9307. Before we were calculating
the hash after the call to processor->handle_data(), however, that
method might have spliced the bufferlist, so we can't be sure that the
pointer that we were holding originally is still invalid. Instead, push
the hash calculation down. Added a new explicit complete_hash() call to
the processor, since when we're at complete() it's too late (we need to
have the hash at that point already).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit d41c3e858c6f215792c67b8c2a42312cae07ece9)

Conflicts:
src/rgw/rgw_rados.h

10 years agorgw: separate civetweb log from rgw log
Yehuda Sadeh [Thu, 21 Aug 2014 23:30:10 +0000 (16:30 -0700)]
rgw: separate civetweb log from rgw log

The civetweb log now is independent from the rgw log.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 850242cad749e33e1e6bc008baa75c8ea7eda0c1)

Conflicts:
src/civetweb
src/rgw/rgw_main.cc

10 years agocivetweb: update submodule
Yehuda Sadeh [Tue, 23 Sep 2014 20:40:39 +0000 (13:40 -0700)]
civetweb: update submodule

Update submodule to include multiple fixes.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: convert header field underscores into dashes
Yehuda Sadeh [Fri, 22 Aug 2014 22:12:16 +0000 (15:12 -0700)]
rgw: convert header field underscores into dashes

Fixes: 9206
Backport: firefly

Certain web servers filter out underscores in the header field name.
Convert them into dashes.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 11acb7097ce21c6218dd48d0c21e0e04a361eb9a)

10 years agorgw: fix test to identify whether object has tail
Yehuda Sadeh [Mon, 25 Aug 2014 17:38:42 +0000 (10:38 -0700)]
rgw: fix test to identify whether object has tail

Fixes: #9226
Reported-by: Sylvain Munaut <s.munaut@whatever-company.com>
Backport: firefly

We need to identify whether an object is just composed of a head, or
also has a tail. Test for pre-firefly objects ("explicit objs") was
broken as it was just looking at the number of explicit objs in the
manifest. However, this is insufficient, as we might have empty head,
and in this case it wouldn't appear, so we need to check whether the
sole object is actually pointing at the head.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 751b3e26532932a42ca34f9c062a0a3e29a58cff)

10 years agorgw: don't try to authenticate a CORS preflight request
Yehuda Sadeh [Thu, 28 Aug 2014 00:44:18 +0000 (17:44 -0700)]
rgw: don't try to authenticate a CORS preflight request

Fixes: #8718
Backport: firefly

CORS preflight requests don't need to be authenticated. Treat them as
coming from anonymous user.

Reported-by: Robert Hubbard <bobby.hubbard@garmin.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 848fcf7871e07fc689bdcd18943ace36b2f4906e)

10 years agorgw: fix compilation
Yehuda Sadeh [Thu, 14 Aug 2014 20:35:12 +0000 (13:35 -0700)]
rgw: fix compilation

RGWRadosPutObj couldn't refer to the ceph context.

Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 6a555434ee3edaf742ee7e5910bcba8dd0de46dd)

10 years agorgw: call throttle_data() even if renew_state() failed
Yehuda Sadeh [Tue, 12 Aug 2014 18:17:47 +0000 (11:17 -0700)]
rgw: call throttle_data() even if renew_state() failed

Otherwise we're going to leak the aio callback handle.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 7998c322179dd69a1250937321c3c2bb023e0e57)

10 years agorgw: disable civetweb url decoding
Yehuda Sadeh [Thu, 31 Jul 2014 04:32:48 +0000 (21:32 -0700)]
rgw: disable civetweb url decoding

Fixes: #8621
We want to have the raw request uri, as we do the decoding ourselves.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit ffac52b316e7022796d44ae58804d9c20b9c3df9)

10 years agorgw: copy_obj_data() uses atomic processor
Yehuda Sadeh [Tue, 12 Aug 2014 21:23:46 +0000 (14:23 -0700)]
rgw: copy_obj_data() uses atomic processor

Fixes: #9089
copy_obj_data was not using the current object write infrastructure,
which means that the end objects weren't striped.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 800eff24824c0083b8e2441fc34e0bdca5da36dc)

10 years agorgw: clear bufferlist if write_data() successful
Yehuda Sadeh [Fri, 22 Aug 2014 04:53:38 +0000 (21:53 -0700)]
rgw: clear bufferlist if write_data() successful

Fixes: #9201
Backport: firefly

We sometimes need to call RGWPutObjProcessor::handle_data() again,
so that we send the pending data. However, we failed to clear the buffer
that was already sent, thus it was resent. This triggers when using non
default pool alignments.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 9181114d6f6062c55ee4b351fc3495345e545c36)

10 years agoMerge pull request #2548 from dachary/wip-9547-python-rados-truncate-firefly
Samuel Just [Tue, 23 Sep 2014 17:37:27 +0000 (10:37 -0700)]
Merge pull request #2548 from dachary/wip-9547-python-rados-truncate-firefly

python radio aio_read must not truncate on \000 (firefly)

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge branch 'wip-sam-testing-firefly' into firefly
Samuel Just [Tue, 23 Sep 2014 17:27:15 +0000 (10:27 -0700)]
Merge branch 'wip-sam-testing-firefly' into firefly

10 years agoMerge remote-tracking branch 'origin/wip-9240' into wip-sam-testing-firefly
Samuel Just [Sun, 21 Sep 2014 17:04:30 +0000 (10:04 -0700)]
Merge remote-tracking branch 'origin/wip-9240' into wip-sam-testing-firefly

10 years agoPG: wait until we've build the missing set to discover_all_missing
Samuel Just [Thu, 28 Aug 2014 22:32:22 +0000 (15:32 -0700)]
PG: wait until we've build the missing set to discover_all_missing

Fixes: #9179
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 970d9830a3a6e8568337c660fb8b4c4a60a2b3bf)

Conflicts:
src/osd/PG.cc

10 years agoPG: mark_log_for_rewrite on resurrection
Samuel Just [Tue, 26 Aug 2014 23:53:02 +0000 (16:53 -0700)]
PG: mark_log_for_rewrite on resurrection

Fixes: #8777
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 8346e10755027e982f26bab4642334fd91cc31aa)

10 years agoReplicatedPG:start_flush send a second delete
Samuel Just [Mon, 8 Sep 2014 03:13:41 +0000 (20:13 -0700)]
ReplicatedPG:start_flush send a second delete

Suppose we start with the following in the cache pool:

30:[29,21,20,15,10,4]:[22(21), 15(15,10), 4(4)]+head

The object doesn't exist at 29 or 20.

First, we flush 4 leaving the backing pool with:

3:[]+head

Then, we begin to flush 15 with a delete with snapc 4:[4] leaving the
backing pool with:

4:[4]:[4(4)]

Then, we finish flushing 15 with snapc 9:[4] with leaving the backing
pool with:

9:[4]:[4(4)]+head

Next, snaps 10 and 15 are removed causing clone 10 to be removed leaving
the cache with:

30:[29,21,20,4]:[22(21),4(4)]+head

We next begin to flush 22 by sending a delete with snapc 4(4) since
prev_snapc is 4 <---------- here is the bug

The backing pool ignores this request since 4 < 9 (ORDERSNAP) leaving it
with:

9:[4]:[4(4)]

Then, we complete flushing 22 with snapc 19:[4] leaving the backing pool
with:

19:[4]:[4(4)]+head

Then, we begin to flush head by deleting with snapc 22:[21,20,4] leaving
the backing pool with:

22[21,20,4]:[22(21,20), 4(4)]

Finally, we flush head leaving the backing pool with:

30:[29,21,20,4]:[22(21*,20*),4(4)]+head

When we go to flush clone 22, all we know is that 22 is dirty, has snaps
[21], and 4 is clean. As part of flushing 22, we need to do two things:
1) Ensure that the current head is cloned as cloneid 4 with snaps [4] by
sending a delete at snapc 4:[4].
2) Flush the data at snap sequence < 21 by sending a copyfrom with snapc
20:[20,4].

Unfortunately, it is possible that 1, 1&2, or 1 and part of the flush
process for some other now non-existent clone have already been
performed.  Because of that, between 1) and 2), we need to send
a second delete ensuring that the object does not exist at 20.

Fixes: #9054
Backport: firefly
Related: 66c7439ea0888777b5cfc08bcb0fbd7bfd8653c3
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 4843fd510b33a71999cdf9c2cfa2b4c318fa80fd)

10 years agoReplicatedPG::start_flush: remove superfluous loop
Samuel Just [Mon, 11 Aug 2014 19:59:16 +0000 (12:59 -0700)]
ReplicatedPG::start_flush: remove superfluous loop

Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 66c7439ea0888777b5cfc08bcb0fbd7bfd8653c3)

10 years agoMerge remote-tracking branch 'origin/wip-9339' into wip-sam-testing-firefly
Samuel Just [Sun, 21 Sep 2014 17:03:53 +0000 (10:03 -0700)]
Merge remote-tracking branch 'origin/wip-9339' into wip-sam-testing-firefly

10 years agotest: check python rados aio_read with buffers containing null 2548/head
Loic Dachary [Sat, 20 Sep 2014 10:41:30 +0000 (12:41 +0200)]
test: check python rados aio_read with buffers containing null

http://tracker.ceph.com/issues/9547 Refs: #9547

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 226c0c7ac6ee95ff2c1665d4e7164e2962c0346e)

10 years agopybind: Fix aio_read handling of string buffer
Mohammad Salehe [Sun, 25 May 2014 06:12:11 +0000 (10:42 +0430)]
pybind: Fix aio_read handling of string buffer

Read data may contain \0, and buf.value interprerts them as string terminator.

Signed-off-by: Mohammad Salehe <salehe+dev@gmail.com>
(cherry picked from commit 8bda44ff37fd04a0fc9498fbbc22f0daf515d721)

10 years agoMerge pull request #2535 from dachary/wip-9470-pidfile-firefly
Sage Weil [Fri, 19 Sep 2014 18:30:17 +0000 (11:30 -0700)]
Merge pull request #2535 from dachary/wip-9470-pidfile-firefly

daemons: write pid file even when told not to daemonize (firefly)

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agodaemons: write pid file even when told not to daemonize 2535/head
Alexandre Oliva [Thu, 31 Jul 2014 02:08:43 +0000 (23:08 -0300)]
daemons: write pid file even when told not to daemonize

systemd wants to run daemons in foreground, but daemons wouldn't write
out the pid file with -f.  Fixed.

Signed-off-by: Alexandre Oliva <oliva@gnu.org>
(cherry picked from commit bccb0eb64891f65fd475e96b6386494044cae8c1)

10 years agoPGLog::claim_log_and_clear_rollback_info: fix rollback_info_trimmed_to
Samuel Just [Mon, 15 Sep 2014 22:44:11 +0000 (15:44 -0700)]
PGLog::claim_log_and_clear_rollback_info: fix rollback_info_trimmed_to

We have been setting it to the old head value.  This is usually
harmless since the new head will virtually always be ahead of the
old head for claim_log_and_clear_rollback_info, but can cause trouble
in some edge cases.

Fixes: #9481
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 0769310ccd4e0dceebd8ea601e8eb5c0928e0603)

10 years agoMerge remote-tracking branches 'origin/wip-9497' and 'origin/wip-9482' into wip-log...
Samuel Just [Thu, 18 Sep 2014 16:46:38 +0000 (09:46 -0700)]
Merge remote-tracking branches 'origin/wip-9497' and 'origin/wip-9482' into wip-log-crash-firefly