Commit Graph

39844 Commits

Author SHA1 Message Date
Jenkins
e61c4f093f 0.94 2015-04-07 10:05:41 -07:00
Josh Durgin
4347a3207d 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 a294daff0b)
2015-04-06 11:36:35 -07:00
Sage Weil
557715049a Merge pull request #4246 from ceph/wip-11113-hammer
librbd: snap_remove should ignore -ENOENT errors
2015-04-06 08:55:51 -07:00
Sage Weil
97dfde8dc7 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>
2015-04-06 08:07:28 -07:00
Sage Weil
ad8481b708 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>
2015-04-06 08:07:15 -07:00
Samuel Just
5c2ecc3b89 Merge pull request #4167 from dzafman/wip-11184
Fix 11184 by filtering the log

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-04-01 21:03:37 -07:00
Jason Dillaman
57d2781da8 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 cf8094942c)
2015-04-01 15:54:51 -04:00
Jason Dillaman
572a2f5707 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 21afd0ef8e)
2015-04-01 15:54:51 -04:00
Samuel Just
28787d2184 Merge pull request #4230 from athanatos/wip-11244
ReplicatedPG::cancel_pull: requeue waiters as well

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-31 09:47:10 -07:00
Samuel Just
5ad54359a4 Merge pull request #4219 from liewegas/wip-scrub-mtime
osd: do not update mtime when recording digest

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-03-31 09:45:46 -07:00
Sage Weil
fd26cd1f4e 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>
2015-03-31 09:39:32 -07:00
Sage Weil
9d0dcc1f06 Merge pull request #4228 from athanatos/wip-11280
Wip 11280

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-31 09:38:48 -07:00
Samuel Just
e5ff97201f 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>
2015-03-31 09:26:56 -07:00
Samuel Just
0b2e272430 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>
2015-03-31 09:21:36 -07:00
Samuel Just
23efab7d4f ReplicatedPG: don't write hitset while scrubbing, update scrub_cstat
Fixes: 11263
Fixes: 11262
Backport: firefly
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-03-31 09:21:04 -07:00
Samuel Just
85307b933d 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>
2015-03-31 09:20:28 -07:00
Samuel Just
b1f078bc22 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>
2015-03-31 09:20:20 -07:00
Samuel Just
b0a3941ff6 ReplicatedPG::promote_object: do not create obc if not promoting
Otherwise, we can leave an incorrect cached obc around.

Introduced: 65bb4df599
Fixes: 11284
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-03-31 08:41:09 -07:00
Samuel Just
bdc664fb3d 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>
2015-03-31 08:30:10 -07:00
Sage Weil
8e5d4c66dc osd: drop unused utime_t now arg to issue_repop
Signed-off-by: Sage Weil <sage@redhat.com>
2015-03-30 10:45:00 -07:00
Jianpeng Ma
8db4056ba8 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>
2015-03-30 10:41:58 -07:00
Loic Dachary
6f4936ee96 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>
2015-03-30 14:37:08 +02:00
David Zafman
491474f7b7 test: Add testing for PGLog::filter_log()
Indirectly tests pg_log_t::filter_log()

Signed-off-by: David Zafman <dzafman@redhat.com>
2015-03-27 18:25:24 -07:00
David Zafman
1fcd3fbdef 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>
2015-03-27 18:23:08 -07:00
David Zafman
c751191f65 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>
2015-03-27 18:23:08 -07:00
Sage Weil
ccc08397e6 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>
2015-03-27 15:35:21 -07:00
Sage Weil
59143d141c 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>
2015-03-27 08:15:29 -07:00
Sage Weil
efb66b9120 Merge pull request #4195 from athanatos/wip-11197
PG: set/clear CREATING in Primary state entry/exit

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-27 08:10:20 -07:00
Kefu Chai
3489fbdc92 Merge pull request #4196 from athanatos/wip-move-code
osd: Wip move code

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-03-27 10:24:22 +08:00
David Zafman
f9b98c94e6 ceph-objectstore-tool: Fix message and make it debug only to stderr
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-03-26 16:25:31 -07:00
David Zafman
923d53235a ceph-objectstore-tool: Remove bogus comment and eliminate a debug message
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-03-26 16:24:21 -07:00
Samuel Just
c176ebf791 osd/: Move ReplicatedBackend methods into ReplicatedBackend.cc
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-03-26 10:50:19 -07:00
Samuel Just
e9d6096f25 ReplicatedPG: remove unused C_OnPushCommit
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-03-26 10:44:00 -07:00
Samuel Just
ddf0292250 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>
2015-03-25 10:29:07 -07:00
Samuel Just
6994648bc4 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>
2015-03-25 08:29:31 -07:00
Samuel Just
0ff3d58757 Merge pull request #4124 from ceph/wip-omap-clear
osd: fix omap_clear handling

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-03-25 08:27:59 -07:00
Gregory Farnum
e7e0ea626e Merge pull request #4170 from ceph/hammer-11205
qa/workunits/fs/misc: fix filelock_interrupt.py

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-03-24 21:35:29 -07:00
Yan, Zheng
6f218b1603 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 4ececa3dc4)
2015-03-25 11:10:56 +08:00
Samuel Just
1388d6bd94 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>
2015-03-24 15:29:29 -07:00
Sage Weil
4dbb9c872e Merge pull request #4162 from athanatos/wip-11156
ReplicatedPG::promote_object: check scrubber and block if necessary

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-24 12:15:21 -07:00
Samuel Just
836fdc512d Merge pull request #4163 from athanatos/wip-revert-degraded-writes
Wip revert degraded writes

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-24 09:31:13 -07:00
Sage Weil
ed5ee16747 Merge pull request #4152 from ceph/wip-11145
rgw: shut down timer before erroring out

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-23 18:11:08 -07:00
Yehuda Sadeh
924ace882e 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>
2015-03-23 16:21:14 -07:00
Samuel Just
65bb4df599 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>
2015-03-23 14:40:59 -07:00
Loic Dachary
3216a584e0 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>
2015-03-23 20:37:14 +01:00
Sage Weil
df35a91023 Merge pull request #4145 from ceph/wip-hammer-rgw
Wip hammer rgw

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-23 12:30:47 -07:00
Samuel Just
78c5de77a2 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
2015-03-23 12:11:32 -07:00
Samuel Just
4a5bd0561a Revert "osd/: update peer_missing and local missing if we write a degraded object"
This reverts commit c632fecb87.
2015-03-23 11:54:57 -07:00
Samuel Just
6ed86b4827 Revert "append_log: use remove_snap_mapped_object"
This reverts commit 964d17756f.
2015-03-23 11:54:44 -07:00
Samuel Just
b84943cb45 Revert "osd/: don't block writes on degraded objects"
This reverts commit f9abffbb24.
2015-03-23 11:50:10 -07:00