]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agobug fix: test case for lfn index 4332/head
Xinze Chi [Tue, 24 Mar 2015 10:42:04 +0000 (18:42 +0800)]
bug fix: test case for lfn index

tests: TestFlatIndex.cc races with TestLFNIndex.cc
Both use the same PATH and when run in parallel they sometime conflict.

Fixes: #11217
Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
(cherry picked from commit 791c3879d62b848616972f9c6d921aac30ac4925)

10 years agocrush/mapper: fix divide-by-0 in straw2
Sage Weil [Thu, 9 Apr 2015 21:42:34 +0000 (14:42 -0700)]
crush/mapper: fix divide-by-0 in straw2

If the item weight is 0 we don't want to divide; instead draw a minimal
value.

Fixes: #11357
Reported-by: Yann Dupont <yd@objoo.org>
Tested-by: Yann Dupont <yd@objoo.org>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 64d1e900ec4f5831972ec80e8d0129604669f5bb)

10 years agoosd: fix negative degraded objects during backfilling
Guang Yang [Thu, 26 Feb 2015 08:13:12 +0000 (08:13 +0000)]
osd: fix negative degraded objects during backfilling

When there is deleting requests during backfilling, the reported number of degraded
objects could be negative, as the primary's num_objects is the latest (locally) but
the number for replicas might not reflect the deletings. A simple fix is to ignore
the negative subtracted value.

Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
(cherry picked from commit 14d7e36d3c978844da73d0e1c8a3a1ec863bac15)

10 years ago0.94 v0.94
Jenkins [Tue, 7 Apr 2015 17:05:41 +0000 (10:05 -0700)]
0.94

10 years agodebian: remove lttng checking from rules
Josh Durgin [Mon, 6 Apr 2015 18:08:33 +0000 (11:08 -0700)]
debian: remove lttng checking from rules

This can be done better in a separate script, which puts these in
CEPH_EXTRA_CONFIGURE_ARGS. In particular, this lets us enable
lttng for gitbuilder builds, but not release builds.

Fixes: #11333
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit a294daff0bb69a7e0951f98c9497ccb22e91e705)

10 years agoMerge pull request #4246 from ceph/wip-11113-hammer
Sage Weil [Mon, 6 Apr 2015 15:55:51 +0000 (08:55 -0700)]
Merge pull request #4246 from ceph/wip-11113-hammer

librbd: snap_remove should ignore -ENOENT errors

10 years agoMerge pull request #4250 from athanatos/wip-11265
Sage Weil [Mon, 6 Apr 2015 15:07:28 +0000 (08:07 -0700)]
Merge pull request #4250 from athanatos/wip-11265

ECTransaction: write out the hinfo key on touch as well

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4251 from athanatos/wip-11284
Sage Weil [Mon, 6 Apr 2015 15:07:15 +0000 (08:07 -0700)]
Merge pull request #4251 from athanatos/wip-11284

ReplicatedPG::promote_object: do not create obc if not promoting

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4167 from dzafman/wip-11184
Samuel Just [Thu, 2 Apr 2015 04:03:37 +0000 (21:03 -0700)]
Merge pull request #4167 from dzafman/wip-11184

Fix 11184 by filtering the log

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agolibrbd: snap_remove should ignore -ENOENT errors 4246/head
Jason Dillaman [Mon, 16 Mar 2015 22:40:49 +0000 (18:40 -0400)]
librbd: snap_remove should ignore -ENOENT errors

If the attempt to deregister the snapshot from the parent
image fails with -ENOENT, ignore the error as it is safe
to assume that the child is not associated with the parent.

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

10 years agolibrbd: get_parent_info should protect against invalid parent
Jason Dillaman [Mon, 16 Mar 2015 22:35:07 +0000 (18:35 -0400)]
librbd: get_parent_info should protect against invalid parent

get_parent_info should return -ENOENT if the image does not
have an associated parent image.

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

10 years agoMerge pull request #4230 from athanatos/wip-11244
Samuel Just [Tue, 31 Mar 2015 16:47:10 +0000 (09:47 -0700)]
Merge pull request #4230 from athanatos/wip-11244

ReplicatedPG::cancel_pull: requeue waiters as well

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4219 from liewegas/wip-scrub-mtime
Samuel Just [Tue, 31 Mar 2015 16:45:46 +0000 (09:45 -0700)]
Merge pull request #4219 from liewegas/wip-scrub-mtime

osd: do not update mtime when recording digest

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4229 from athanatos/wip-scrub-hitsets
Sage Weil [Tue, 31 Mar 2015 16:39:32 +0000 (09:39 -0700)]
Merge pull request #4229 from athanatos/wip-scrub-hitsets

ReplicatedPG: don't write hitset while scrubbing, update scrub_cstat

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4228 from athanatos/wip-11280
Sage Weil [Tue, 31 Mar 2015 16:38:48 +0000 (09:38 -0700)]
Merge pull request #4228 from athanatos/wip-11280

Wip 11280

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4207 from ceph/wip-11177
Samuel Just [Tue, 31 Mar 2015 16:26:56 +0000 (09:26 -0700)]
Merge pull request #4207 from ceph/wip-11177

common: fix logging default channel to be 'cluster' not 'default' (11177)

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoReplicatedPG::cancel_pull: requeue waiters as well 4230/head
Samuel Just [Thu, 26 Mar 2015 17:26:48 +0000 (10:26 -0700)]
ReplicatedPG::cancel_pull: requeue waiters as well

If we are in recovery_wait, we might not recover that object as part of
recover_primary for some time.  Worse, if we are waiting on a backfill
which is blocked waiting on a copy_from on the missing object in
question, it can become a dead lock.

Fixes: 11244
Backport: firefly
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoReplicatedPG: don't write hitset while scrubbing, update scrub_cstat 4229/head
Samuel Just [Sun, 29 Mar 2015 22:30:52 +0000 (15:30 -0700)]
ReplicatedPG: don't write hitset while scrubbing, update scrub_cstat

Fixes: 11263
Fixes: 11262
Backport: firefly
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoReplicatedPG: in do_op, requeue op if we requeue waiters in agent_choose_mode 4228/head
Samuel Just [Mon, 30 Mar 2015 21:04:29 +0000 (14:04 -0700)]
ReplicatedPG: in do_op, requeue op if we requeue waiters in agent_choose_mode

The current op might be ordered after a waiter.

Fixes: 11280
Backport: firefly
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoReplicatedPG: requeue waiting_for_active before waiting_for_cache_not_full
Samuel Just [Mon, 30 Mar 2015 20:22:26 +0000 (13:22 -0700)]
ReplicatedPG: requeue waiting_for_active before waiting_for_cache_not_full

The waiting_for_cache_not_full waiters must be dequeued first.

Fixes: 11267
Backport: firefly
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoReplicatedPG::promote_object: do not create obc if not promoting 4251/head
Samuel Just [Tue, 31 Mar 2015 15:41:09 +0000 (08:41 -0700)]
ReplicatedPG::promote_object: do not create obc if not promoting

Otherwise, we can leave an incorrect cached obc around.

Introduced: 65bb4df599541cd2e0f195b905f24f529e255c00
Fixes: 11284
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoECTransaction: write out the hinfo key on touch as well 4250/head
Samuel Just [Sun, 29 Mar 2015 22:46:59 +0000 (15:46 -0700)]
ECTransaction: write out the hinfo key on touch as well

This way, even empty objects have the hinfo key written.  That way,
touch and touch->append->truncate end up with the same state.

Fixes: 11265
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoosd: drop unused utime_t now arg to issue_repop 4219/head
Sage Weil [Mon, 30 Mar 2015 14:13:43 +0000 (07:13 -0700)]
osd: drop unused utime_t now arg to issue_repop

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd: do not update mtime when recording digest
Jianpeng Ma [Mon, 30 Mar 2015 14:17:40 +0000 (07:17 -0700)]
osd: do not update mtime when recording digest

The user mtime and local_mtime are normally set in finish_ctx based on the
value of ctx->mtime; clear that to avoid this update.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
[Sage: simplified]
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4131 from t-miyamae/wip-mshec-documentation-h2
Loic Dachary [Mon, 30 Mar 2015 12:37:08 +0000 (14:37 +0200)]
Merge pull request #4131 from t-miyamae/wip-mshec-documentation-h2

erasure code: add shec's documentation / change default layout

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agotest: Add testing for PGLog::filter_log() 4167/head
David Zafman [Fri, 27 Mar 2015 05:32:25 +0000 (22:32 -0700)]
test: Add testing for PGLog::filter_log()

Indirectly tests pg_log_t::filter_log()

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoosd: Create a filter_log for PGLog
David Zafman [Thu, 26 Mar 2015 22:49:16 +0000 (15:49 -0700)]
osd: Create a filter_log for PGLog

This could be tested as a way to test pg_log_t::filter_log()

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoceph-objectstore-tool, osd: Filter the pg_log_t for objects no longer in pg
David Zafman [Thu, 26 Mar 2015 22:53:42 +0000 (15:53 -0700)]
ceph-objectstore-tool, osd: Filter the pg_log_t for objects no longer in pg

Fixes: #11184
Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agocommon: send cluster log messages to 'cluster' channel by default 4207/head
Sage Weil [Fri, 27 Mar 2015 22:35:21 +0000 (15:35 -0700)]
common: send cluster log messages to 'cluster' channel by default

The CLOG_CHANNEL_DEFAULT constant was being abused for two purposes:

 - the default channel to log messages to
 - the name of the config option key in the key/value pair string that is
   used for the default option, e.g. "default=true foo=false bar=false"

Fix this by making the config option key CLOG_CONFIG_DEFAULT_KEY and
replacing throughout, and changing CLOG_CHANNEL_DEFAULT to "cluster" (as
it should be and has been historically).

Fixes: #11177
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4194 from athanatos/wip-11199
Sage Weil [Fri, 27 Mar 2015 15:15:29 +0000 (08:15 -0700)]
Merge pull request #4194 from athanatos/wip-11199

ReplicatedPG: trim backfill intervals based on peer's last_backfill_star...

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4195 from athanatos/wip-11197
Sage Weil [Fri, 27 Mar 2015 15:10:20 +0000 (08:10 -0700)]
Merge pull request #4195 from athanatos/wip-11197

PG: set/clear CREATING in Primary state entry/exit

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4196 from athanatos/wip-move-code
Kefu Chai [Fri, 27 Mar 2015 02:24:22 +0000 (10:24 +0800)]
Merge pull request #4196 from athanatos/wip-move-code

osd: Wip move code

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoceph-objectstore-tool: Fix message and make it debug only to stderr
David Zafman [Tue, 24 Mar 2015 22:12:31 +0000 (15:12 -0700)]
ceph-objectstore-tool: Fix message and make it debug only to stderr

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoceph-objectstore-tool: Remove bogus comment and eliminate a debug message
David Zafman [Thu, 26 Mar 2015 22:54:48 +0000 (15:54 -0700)]
ceph-objectstore-tool: Remove bogus comment and eliminate a debug message

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoosd/: Move ReplicatedBackend methods into ReplicatedBackend.cc 4196/head
Samuel Just [Thu, 26 Mar 2015 17:50:19 +0000 (10:50 -0700)]
osd/: Move ReplicatedBackend methods into ReplicatedBackend.cc

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoReplicatedPG: remove unused C_OnPushCommit
Samuel Just [Thu, 26 Mar 2015 17:44:00 +0000 (10:44 -0700)]
ReplicatedPG: remove unused C_OnPushCommit

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoPG: set/clear CREATING in Primary state entry/exit 4195/head
Samuel Just [Tue, 24 Mar 2015 17:48:02 +0000 (10:48 -0700)]
PG: set/clear CREATING in Primary state entry/exit

Previously, we did not actually set it when we got a pg creation message from
the mon.  It would actually get set on the first start_peering_interval after
that point.  If we don't get that far, but do send a stat update to the mon, we
can end up with 11197.  Instead, let's just set it and clear it upon entry into
and exit from the Primary state.

Fixes: 11197
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4128 from dzafman/wip-11139-hammer
Samuel Just [Wed, 25 Mar 2015 15:29:31 +0000 (08:29 -0700)]
Merge pull request #4128 from dzafman/wip-11139-hammer

ceph-objectstore-tool: Use exit status 11 for incompatible import attemp...

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4124 from ceph/wip-omap-clear
Samuel Just [Wed, 25 Mar 2015 15:27:59 +0000 (08:27 -0700)]
Merge pull request #4124 from ceph/wip-omap-clear

osd: fix omap_clear handling

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4170 from ceph/hammer-11205
Gregory Farnum [Wed, 25 Mar 2015 04:35:29 +0000 (21:35 -0700)]
Merge pull request #4170 from ceph/hammer-11205

qa/workunits/fs/misc: fix filelock_interrupt.py

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoqa/workunits/fs/misc: fix filelock_interrupt.py 4170/head
Yan, Zheng [Mon, 2 Mar 2015 13:04:25 +0000 (21:04 +0800)]
qa/workunits/fs/misc: fix filelock_interrupt.py

Handle the case that kernel does not support fcntl.F_OFD_SETLK.
Also fix the code that checks if fnctl fails with errno == EINTR.

Fixes: 11205
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 4ececa3dc4a21b98f61a592da9e2be60a0d71625)

10 years agoReplicatedPG: trim backfill intervals based on peer's last_backfill_started 4194/head
Samuel Just [Tue, 24 Mar 2015 22:14:34 +0000 (15:14 -0700)]
ReplicatedPG: trim backfill intervals based on peer's last_backfill_started

Otherwise, we fail to trim the peer's last_backfill_started and get bug 11199.

1) osd 4 backfills up to 31bccdb2/mira01213209-286/head (henceforth: foo)

2) Interval change happens

3) osd 0 now finds itself backfilling to 4 (lb=foo) and osd.5
(lb=b6670ba2/mira01213209-160/snapdir//1, henceforth: bar)

4) recover_backfill causes both 4 and 5 to scan forward, so 4 has an interval
starting at foo, 5 has an interval starting at bar.

5) Once those have come back, recover_backfill attempts to trim off the
last_backfill_started, but 4's interval starts after that, so foo remains in
osd 4's interval (this is the bug)

7) We serve a copyfrom on foo (sent to 4 as well).

8) We eventually get to foo in the backfilling. Normally, they would have the
same version, but of course we don't update osd.4's interval from the log since
it should not have received writes in that interval. Thus, we end up trying to
recover foo on osd.4 anyway.

9) But, an interval change happens between removing foo from osd.4 and
completing the recovery, leaving osd.4 without foo, but with lb >= foo

Fixes: #11199
Backport: firefly
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4162 from athanatos/wip-11156
Sage Weil [Tue, 24 Mar 2015 19:15:21 +0000 (12:15 -0700)]
Merge pull request #4162 from athanatos/wip-11156

ReplicatedPG::promote_object: check scrubber and block if necessary

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4163 from athanatos/wip-revert-degraded-writes
Samuel Just [Tue, 24 Mar 2015 16:31:13 +0000 (09:31 -0700)]
Merge pull request #4163 from athanatos/wip-revert-degraded-writes

Wip revert degraded writes

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4152 from ceph/wip-11145
Sage Weil [Tue, 24 Mar 2015 01:11:08 +0000 (18:11 -0700)]
Merge pull request #4152 from ceph/wip-11145

rgw: shut down timer before erroring out

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agorgw: shut down timer before erroring out 4152/head
Yehuda Sadeh [Mon, 23 Mar 2015 23:21:14 +0000 (16:21 -0700)]
rgw: shut down timer before erroring out

Fixes: #11145
Backport: hammer

Clean up initialization timer, otherwise if we error out, we'll assert.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoReplicatedPG::promote_object: check scrubber and block if necessary 4162/head
Samuel Just [Fri, 20 Mar 2015 22:28:15 +0000 (15:28 -0700)]
ReplicatedPG::promote_object: check scrubber and block if necessary

Otherwise, we might attempt to promote into an in-progress scrub
interval causing 11156.  I would have added a return value to
promote_object(), but could not find an existing user which
cared to distinguish the cases, even with a null op passed.
All existing users are in maybe_handle_cache.  The ones which
pass a null op are for promoting the object in parallel
with a proxy -- a case where not actually performing the promote
does not really matter.

Fixes: #11156
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4125 from dzafman/wip-11176-hammer
Loic Dachary [Mon, 23 Mar 2015 19:37:14 +0000 (20:37 +0100)]
Merge pull request #4125 from dzafman/wip-11176-hammer

ceph-objectstore-tool: Output only unsupported features when incomatible

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4145 from ceph/wip-hammer-rgw
Sage Weil [Mon, 23 Mar 2015 19:30:47 +0000 (12:30 -0700)]
Merge pull request #4145 from ceph/wip-hammer-rgw

Wip hammer rgw

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoosd/: s/is_degraded_object/is_degraded_or_backfilling_object 4163/head
Samuel Just [Tue, 17 Feb 2015 18:16:57 +0000 (10:16 -0800)]
osd/: s/is_degraded_object/is_degraded_or_backfilling_object

Currently, this method also returns true if the object is backfilling.
This commit was reverted earlier in the branch in order to make the
other reverts clean.  It's actually a nice rename though, so I'm
re-cherry-picking it.

Signed-off-by: Samuel Just <sjust@redhat.com>
Conflicts:
src/osd/ReplicatedPG.cc

10 years agoRevert "osd/: update peer_missing and local missing if we write a degraded object"
Samuel Just [Mon, 23 Mar 2015 18:54:57 +0000 (11:54 -0700)]
Revert "osd/: update peer_missing and local missing if we write a degraded object"

This reverts commit c632fecb87e292eb73161f36d4e6df6f077fae77.

10 years agoRevert "append_log: use remove_snap_mapped_object"
Samuel Just [Mon, 23 Mar 2015 18:54:44 +0000 (11:54 -0700)]
Revert "append_log: use remove_snap_mapped_object"

This reverts commit 964d17756f9e49002eb96c4f27a3f41da0880f71.

10 years agoRevert "osd/: don't block writes on degraded objects"
Samuel Just [Mon, 23 Mar 2015 18:50:10 +0000 (11:50 -0700)]
Revert "osd/: don't block writes on degraded objects"

This reverts commit f9abffbb2461b5988c0435ee2f7771eca028f29f.

10 years agoRevert "ReplicatedPG: block writes on degraded objects for ec pools"
Samuel Just [Mon, 23 Mar 2015 18:48:38 +0000 (11:48 -0700)]
Revert "ReplicatedPG: block writes on degraded objects for ec pools"

This reverts commit 1f165d2547af844de8406b35e89d371d56730f09.

10 years agoRevert "Merge pull request #3641 from athanatos/wip-10731"
Samuel Just [Mon, 23 Mar 2015 18:46:35 +0000 (11:46 -0700)]
Revert "Merge pull request #3641 from athanatos/wip-10731"

This reverts commit 54a22236a00ab18ec62c6e7df1117055d5fd0ef1, reversing
changes made to 7eca03e290f278bdf3a9613e0f383ec49f40b645.

Conflicts:
src/include/ceph_features.h

10 years agoRevert "osd/: s/is_degraded_object/is_degraded_or_backfilling_object"
Samuel Just [Mon, 23 Mar 2015 18:43:52 +0000 (11:43 -0700)]
Revert "osd/: s/is_degraded_object/is_degraded_or_backfilling_object"

This reverts commit 25f9363b90a66b8bf3c14cf99ee417823fc84fbf.

10 years agorgw: update makefile to enable civetweb config 4145/head
Yehuda Sadeh [Fri, 27 Feb 2015 16:14:41 +0000 (08:14 -0800)]
rgw: update makefile to enable civetweb config

Fixes: #10965
Backport: hammer, firefly

Civetweb compilation now includes conf header to enable ipv6.

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

10 years agocivetweb: update submodule
Yehuda Sadeh [Fri, 27 Feb 2015 16:14:27 +0000 (08:14 -0800)]
civetweb: update submodule

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

10 years agorgw: pass civetweb configurables to civetweb
Yehuda Sadeh [Tue, 17 Feb 2015 23:05:40 +0000 (15:05 -0800)]
rgw: pass civetweb configurables to civetweb

Fixes: #10907
Backport: firefly

Pass any configurables in the rgw frontends config line to civetweb.

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

10 years agorgw: don't overwrite bucket / object owner when setting acls
Yehuda Sadeh [Fri, 27 Feb 2015 23:32:50 +0000 (15:32 -0800)]
rgw: don't overwrite bucket / object owner when setting acls

Fixes: #10978
Backport: hammer, firefly

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

10 years agoRevert "ReplicatedPG: only allow a degraded write if we have at least min_size copies"
Samuel Just [Mon, 23 Mar 2015 18:16:27 +0000 (11:16 -0700)]
Revert "ReplicatedPG: only allow a degraded write if we have at least min_size copies"

This reverts commit 48466f8d7ce2b6762077f3fc686ada5648021517.

10 years agoRevert "Merge pull request #3911 from athanatos/wip-11057"
Samuel Just [Mon, 23 Mar 2015 18:16:06 +0000 (11:16 -0700)]
Revert "Merge pull request #3911 from athanatos/wip-11057"

This reverts commit 05bb9c9870781941b2e362e6cb9b5ec7fb72e97e, reversing
changes made to b780048c48784a59348d030b5be720d270649a36.

10 years agoMerge pull request #4134 from dzafman/wip-dzman-hammer
Loic Dachary [Sun, 22 Mar 2015 23:41:17 +0000 (00:41 +0100)]
Merge pull request #4134 from dzafman/wip-dzman-hammer

Minor man page improvement

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: Regenerate man/ceph.8 based on ceph.rst changes 4134/head
David Zafman [Fri, 20 Mar 2015 22:38:33 +0000 (15:38 -0700)]
doc: Regenerate man/ceph.8 based on ceph.rst changes

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agodoc: Break ceph osd pool get into sections based on pool type
David Zafman [Fri, 20 Mar 2015 22:33:39 +0000 (15:33 -0700)]
doc: Break ceph osd pool get into sections based on pool type

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoerasure code: add shec's documentation / change default layout 4131/head
Takeshi Miyamae [Wed, 18 Feb 2015 11:42:50 +0000 (20:42 +0900)]
erasure code: add shec's documentation / change default layout

Signed-off-by: Takeshi Miyamae <miyamae.takeshi@jp.fujitsu.com>
(cherry picked from commit cd708e216f8655eb91184e68fb6ef58949630101)

10 years agoceph-objectstore-tool: Use exit status 11 for incompatible import attempt 4128/head
David Zafman [Sat, 21 Mar 2015 00:48:01 +0000 (17:48 -0700)]
ceph-objectstore-tool: Use exit status 11 for incompatible import attempt

This is used so upgrade testing doesn't generate false failure.
Fixes: #11139
Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoosd: fix omap digest clearing for omap write ops 4124/head
Sage Weil [Sat, 21 Mar 2015 00:16:26 +0000 (17:16 -0700)]
osd: fix omap digest clearing for omap write ops

1. setvals clears the digest, even for a new object, since we aren't doing
anything clever with the digest for the provided keys (yet).

2. setheader clears the digest, always, since we aren't doing anything
clever.

Backport: hammer
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoos/MemStore: make omap_clear zap the omap header too
Sage Weil [Sat, 21 Mar 2015 00:08:01 +0000 (17:08 -0700)]
os/MemStore: make omap_clear zap the omap header too

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoceph_test_rados_api_aio: verify omap_clear clears header, too
Sage Weil [Sat, 21 Mar 2015 00:07:51 +0000 (17:07 -0700)]
ceph_test_rados_api_aio: verify omap_clear clears header, too

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoceph-objectstore-tool: Output only unsupported features when incomatible 4125/head
David Zafman [Fri, 20 Mar 2015 23:57:40 +0000 (16:57 -0700)]
ceph-objectstore-tool: Output only unsupported features when incomatible

Fixes: #11176
Backport: firefly, giant

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoMerge pull request #4040 from dzafman/wip-11092-11093
Dan Mick [Fri, 20 Mar 2015 23:39:00 +0000 (16:39 -0700)]
Merge pull request #4040 from dzafman/wip-11092-11093

Fix ceph pg dump_stuck with multiple options

Reviewed-by: Dan Mick <dmick@redhat.com>
10 years agoMerge pull request #4107 from ceph/wip-11102
Sage Weil [Fri, 20 Mar 2015 00:16:45 +0000 (17:16 -0700)]
Merge pull request #4107 from ceph/wip-11102

osd: only complain about stored vs actual digest if all peers support it

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoosd: only complain about stored vs actual digest if all peers support it 4107/head
Sage Weil [Thu, 19 Mar 2015 23:27:17 +0000 (16:27 -0700)]
osd: only complain about stored vs actual digest if all peers support it

If we have a mixed cluster of hammer and pre-hammer OSDs, we will fall back
to using 0 as the initial crc32c value.  However, if the primary has a
stored digest, it currently compares its value to the reported value (w/
the wrong initial value) and complains.

There are two possible fixes:
 - avoid storing a digest if all peers don't support it, or
 - avoid complaining on scrub if all peers don't support it.

The latter is easier, and this fix also has the benefit of fixing the bug
even for clusters where this has already happened.

Fixes: #11102
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoPG::find_best_info: reject infos with old last_epoch_started
Samuel Just [Thu, 19 Mar 2015 00:42:40 +0000 (17:42 -0700)]
PG::find_best_info: reject infos with old last_epoch_started

See doc/dev/osd_internals/last_epoch_started.rst

Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3988 from ceph/wip-refine-build-configuration-hammer
Sage Weil [Thu, 19 Mar 2015 18:31:31 +0000 (11:31 -0700)]
Merge pull request #3988 from ceph/wip-refine-build-configuration-hammer

Refine build configuration for hammer

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4105 from athanatos/wip-11110
Samuel Just [Thu, 19 Mar 2015 16:41:58 +0000 (09:41 -0700)]
Merge pull request #4105 from athanatos/wip-11110

Wip 11110

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoinit-radosgw*: don't require rgw_socket_path to be defined
Yehuda Sadeh [Thu, 19 Mar 2015 03:55:24 +0000 (20:55 -0700)]
init-radosgw*: don't require rgw_socket_path to be defined

Fixes: #11159
Backport: hammer, firefly

Scripts required rgw_socket_path to exist in order to start radosgw.
This is not needed.

Reported-by: Dan Mick <dmick@redhat.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 6823bcdcd0ce72cd223e809291f46d82da76115c)

10 years agoMerge pull request #4064 from dachary/wip-10488-jerasure-idempotent
Samuel Just [Thu, 19 Mar 2015 15:52:53 +0000 (08:52 -0700)]
Merge pull request #4064 from dachary/wip-10488-jerasure-idempotent

mon: informative message when erasure-code-profile set fails

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4066 from dachary/wip-11144-erasure-code-profile-rm
Samuel Just [Thu, 19 Mar 2015 15:52:45 +0000 (08:52 -0700)]
Merge pull request #4066 from dachary/wip-11144-erasure-code-profile-rm

osd: erasure-code-profile incremental rm before set

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoPG: ensure that info.last_epoch_started only increases 4105/head
Samuel Just [Wed, 18 Mar 2015 19:11:07 +0000 (12:11 -0700)]
PG: ensure that info.last_epoch_started only increases

See doc/dev/osd_internals/last_epoch_started.rst

Fixes: #11110
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agodoc: add last_epoch_started.rst
Samuel Just [Wed, 18 Mar 2015 19:02:04 +0000 (12:02 -0700)]
doc: add last_epoch_started.rst

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3898 from jdurgin/wip-rbd-merge-diff
Sage Weil [Wed, 18 Mar 2015 20:18:18 +0000 (13:18 -0700)]
Merge pull request #3898 from jdurgin/wip-rbd-merge-diff

qa: make rbd-fuse exit cleanly with lttng

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4071 from athanatos/wip-10718
Sage Weil [Wed, 18 Mar 2015 20:16:53 +0000 (13:16 -0700)]
Merge pull request #4071 from athanatos/wip-10718

Wip 10718

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4016 from ceph/wip-11123
Samuel Just [Wed, 18 Mar 2015 19:18:16 +0000 (12:18 -0700)]
Merge pull request #4016 from ceph/wip-11123

osd: fix whiteout handling for delete+create compound ops

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoPG: make sure to update history.last_epoch_started with first write
Samuel Just [Wed, 18 Mar 2015 18:19:09 +0000 (11:19 -0700)]
PG: make sure to update history.last_epoch_started with first write

Otherwise, we might remember the write, but not that the activation
interval was history.last_epoch_started.

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoosd: erasure-code-profile incremental rm before set 4066/head
Loic Dachary [Wed, 18 Mar 2015 13:17:00 +0000 (14:17 +0100)]
osd: erasure-code-profile incremental rm before set

It is possible for an incremental change to have both a rm and a set for
a given erasure code profile. It only happens when a rm is followed by a
set. When a set is followed by a rm, the rm will remove the pending set
in the incremental change.

The logic is the same for pool create and pool delete.

We must apply the incremental erasure-code-profile removal before the
creation otherwise rm and set in the same proposal will ignore the set.

This fix is minimal. A better change would be that erasure-code-profile
set checks if there is a pending removal and wait_for_finished_proposal
before creating.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: informative message when erasure-code-profile set fails 4064/head
Loic Dachary [Wed, 18 Mar 2015 10:40:36 +0000 (11:40 +0100)]
mon: informative message when erasure-code-profile set fails

When erasure-code-profile set refuses to override an existing profile,
it may be non trivial to figure out why. For instance:

   ceph osd set default ruleset-failure-domain=host

fails with:

   Error EPERM: will not override erasure code profile default

although ruleset-failure-domain=host is documented to be the
default. The error message now includes the two profiles that have been
compared to not be equal so that the user can verify the difference.

   Error EPERM: will not override erasure code profile default
   because the existing profile
   {directory=.libs,k=2,m=1,plugin=jerasure,technique=reed_sol_van}
   is different from the proposed profile
   {directory=.libs,k=2,m=1,plugin=jerasure,ruleset-failure-domain=host,technique=reed_sol_van}

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4057 from ceph/wip-rgw-bootstrap
Sage Weil [Tue, 17 Mar 2015 23:34:25 +0000 (16:34 -0700)]
Merge pull request #4057 from ceph/wip-rgw-bootstrap

mon: add bootstrap-rgw profile

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoceph-create-keys: create bootstrap-rgw key 4057/head
Sage Weil [Tue, 17 Mar 2015 19:24:52 +0000 (12:24 -0700)]
ceph-create-keys: create bootstrap-rgw key

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agomon: add 'bootstrap-rgw' profile
Sage Weil [Fri, 6 Mar 2015 00:47:59 +0000 (16:47 -0800)]
mon: add 'bootstrap-rgw' profile

This profile is allowed to create client.rgw.* librados users.  They have
access to any pool, which is pretty coarse.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoCompile test_build_librgw only if WITH_BUILD_TESTS 3988/head
Boris Ranto [Mon, 16 Mar 2015 13:45:16 +0000 (14:45 +0100)]
Compile test_build_librgw only if WITH_BUILD_TESTS

10 years agoMerge pull request #3910 from athanatos/wip-11027
Samuel Just [Tue, 17 Mar 2015 17:28:56 +0000 (10:28 -0700)]
Merge pull request #3910 from athanatos/wip-11027

Wip 11027

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3918 from tchaikov/hammer-fix-leaks-in-C_TwoContexts
Samuel Just [Tue, 17 Mar 2015 17:28:19 +0000 (10:28 -0700)]
Merge pull request #3918 from tchaikov/hammer-fix-leaks-in-C_TwoContexts

osdc: fix a memory leak in C_TwoContexts

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3972 from tchaikov/hammer-fix-msg-leak
Samuel Just [Tue, 17 Mar 2015 17:27:06 +0000 (10:27 -0700)]
Merge pull request #3972 from tchaikov/hammer-fix-msg-leak

osd: fix a msg leak

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoosd: use (robust) helper for setting exists or clearing whiteout 4016/head
Sage Weil [Tue, 17 Mar 2015 17:26:13 +0000 (10:26 -0700)]
osd: use (robust) helper for setting exists or clearing whiteout

The current blanket check in prepare_transaction() will trigger only when
there is a net obs.exists change from the commited obs to new_obs.
However, this misses the case where the first osd_op is a delete and then a
subsequent osd_op recreates the object.  Changing the whiteout check to
look only at new_obs does not work because it fails to understand when
_delete_oid sets the whiteout and will simply clear it again.

In order to support sequences of delete + create in general, we need to do
the whiteout flag clearing when the actual create happens (to match the
fact that we set it when we process the delete osd_op).  Use a helper to
do this and consolidate most other obs.exists = true code to use it.

Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3994 from athanatos/wip-11069
Samuel Just [Tue, 17 Mar 2015 17:15:46 +0000 (10:15 -0700)]
Merge pull request #3994 from athanatos/wip-11069

PGLog: split divergent priors as well

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
10 years agoPGLog::merge_log: in tail extend case, log.log might be empty 4071/head
Samuel Just [Tue, 17 Mar 2015 17:07:03 +0000 (10:07 -0700)]
PGLog::merge_log: in tail extend case, log.log might be empty

Even if the tail != last_update, the log might be empty due to split
moving all entries into other logs.

Fixes: 10718
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agomon: Support multiple args to ceph pg dump_stuck as in usage and man pages 4040/head
David Zafman [Wed, 11 Mar 2015 00:41:41 +0000 (17:41 -0700)]
mon: Support multiple args to ceph pg dump_stuck as in usage and man pages

Fixes: #11092
Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoImprove "ceph_argparse.py: add stderr note if nonrequired param is invalid"
David Zafman [Tue, 17 Mar 2015 03:34:10 +0000 (20:34 -0700)]
Improve "ceph_argparse.py: add stderr note if nonrequired param is invalid"

When processing arguments stash an exception which is seen when looking
for another argument type.  If we have extra args at the end, output
information about the exception which probably caused the problem.

Fixes: #11093
Original fix: 71ff794eca7dd57a0b0473530f685069ac9987f0

Signed-off-by: David Zafman <dzafman@redhat.com>