Commit Graph

45034 Commits

Author SHA1 Message Date
Samuel Just
d7b620f9dc ECBackend::handle_recovery_read_complete: do not expose the hash_info when getting the obc
Aside from expose an ECBackend internal detail, it causes ReplicatedPG
to cache the value causing trouble with WRITEFULL.

Partially fixes: #12983
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-09-28 11:33:11 -07:00
David Zafman
892800b4dc ECBackend::handle_sub_read: restructure hash check and fix part of 12983
The previous code erroneously assumed that the reads on a single object
would always be in order, and not overlap.

Partially fixes: #12983
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-09-28 11:33:06 -07:00
Samuel Just
405eef2f56 Merge pull request #6098 from liewegas/wip-crash-replay-interval
don't assume crash_replay_itnerval == 45

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-09-28 10:17:41 -07:00
Sage Weil
80b7237e5e qa/workunits/cephtool/test.sh: don't assume crash_replay_interval=45
e.g., it's 5 in teuthology's ceph.conf.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-28 13:13:40 -04:00
Sage Weil
4ef8a0e1f7 Merge pull request #6076 from liewegas/wip-scrub-fix
osd/PG: compensate for sloppy hobject scrub bounds from hammer

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-28 11:44:46 -04:00
Jacek J. Lakis
818d790f7d MOSDOp::decode : Splitting message decoding, new version
Signed-off-by: Jacek J. Lakis <jacek.lakis@intel.com>
2015-09-28 10:54:14 +02:00
Jacek J. Lakis
afcfb05093 handle_op/do_op: Moving couple of checks from dispatcher to parallelized workers
Signed-off-by: Jacek J. Lakis <jacek.lakis@intel.com>
2015-09-28 10:54:14 +02:00
Loic Dachary
83e10f7e2d Merge pull request #6086 from stiopaa1/librados_missingsemicolon
examples/librados/hello_world.cc:missing semicolon

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-09-26 16:12:33 +02:00
Michal Jarzabek
2fea3a56a6 examples/librados/hello_world.cc:missing semicolon
Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
2015-09-26 14:45:22 +01:00
Sage Weil
bee3bdf551 Merge pull request #6068 from dachary/wip-12936-shec
erasure-code: shec must compare for equality with epsilon

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-26 01:24:22 -04:00
Sage Weil
c571fd23d5 Merge pull request #6052 from liewegas/wip-13098
osd: fix full request handling

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-09-26 01:22:39 -04:00
Sage Weil
7ad2ac0f0f Merge pull request #6075 from liewegas/wip-osd-getmap
osd: avoid duplicate MMonGetOSDMap requests

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-26 01:22:10 -04:00
Dan Mick
0cdc8d3a41 Merge pull request #6077 from liewegas/wip-qa
qa: http://ceph.com/qa -> http://download.ceph.com/qa
also some ceph.com/git -> git.ceph.com and a few line-endings - dmick

Reviewed-by: Dan Mick <dmick@redhat.com>
2015-09-25 11:14:51 -07:00
Sage Weil
216eef53e9 Revert "osd: new pool settings: scrub intervals"
This reverts commit 30810da4b5.

After some discussion we have decided it is better to build a generic
dictionary in pg_pool_t to store infrequently used per-pool properties.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-25 14:01:19 -04:00
Samuel Just
04679c5451 OSDMap: fill in known encode_features where possible
Otherwise, if we get an incremental from hammer (struct_v = 6) we will
encode the full map as if it were before CEPH_FEATURE_PGID64, which
was actually pre-argonaut.  Similarly, if struct_v >= 7, we know it
was encoded with CEPH_FEATURE_OSDMAP_ENC.

Fixes: #13234
Backport: hammer
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-09-25 10:01:11 -07:00
Gregory Farnum
9c9514f727 Merge pull request #6083 from jcsp/wip-mds-allow-star
ceph-create-keys: set mds "allow *"

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-09-25 08:40:51 -07:00
John Spray
c7e905e7e2 ceph-create-keys: set mds "allow *"
So that 'tell' works out of the box.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-09-25 16:09:00 +01:00
Loic Dachary
f1f14f18f9 erasure-code: shec must compare for equality with epsilon
When comparing two double for strict inequality, a test for equality
using epsilon must also be done to ensure the results do not vary cross
platform.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-09-25 17:04:10 +02:00
Kefu Chai
fe35ba3f97 Merge pull request #5959 from mslovy/wip-current-dev
mon: Fix unnecessary at/near max target warn in ceph -s

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-25 21:41:48 +08:00
Kefu Chai
139212217c Merge pull request #5356 from majianpeng/code-cleanup
osd: cleanup code when met crc error.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-25 21:39:20 +08:00
Kefu Chai
ae7512dc48 Merge pull request #5972 from Jerry7X/master
unsigned type is short for journal max_size,use uint64_t instead

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-25 21:31:38 +08:00
Sage Weil
a2d806363e Merge remote-tracking branch 'gh/infernalis' 2015-09-25 08:59:54 -04:00
Sage Weil
892a2adeb5 Merge pull request #6048 from XinzeChi/wip-filestore-qlock
filestore: fix peek_queue for OpSequencer

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-25 08:56:02 -04:00
Sage Weil
9619c4a351 Merge pull request #6040 from liewegas/wip-mon-kv
mon: some fixes for kv backend failures

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Joao Eduardo Luis <joao@suse.de>
2015-09-25 08:53:53 -04:00
Sage Weil
28339feff6 Merge pull request #6022 from jdurgin/wip-13032
msg: randomize client nonces

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-25 08:53:00 -04:00
Sage Weil
4742f5d472 Merge pull request #6012 from liewegas/wip-mon
mon: misc scaling fixes

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-25 08:52:29 -04:00
John Spray
e52204ccca client: fix quote enforcement on subdir mounts
While we don't allow setting quotas on the global
filesystem root, the inode which is root from the
client mount's point of view might have a quota.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-09-25 13:24:00 +01:00
John Spray
15e19a4a62 client: refactor quota check functions
Generalise the path traversal into check_quota_condition
and then call that from each of file_exceeded, bytes_exceeded,
bytes_approaching with the appropriate lambda function.

Motivated by fixing the path traversal and wanting to
only fix it in one place.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-09-25 13:24:00 +01:00
Kefu Chai
273b4706b2 Merge pull request #6027 from wido/mirror-docs
docs: Update docs to make it clear that there are mirrors worldwide

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-25 19:16:08 +08:00
Ruifeng Yang
f1d8a8f577 Objecter: repeated free op->ontimeout.
repeated free op->ontimeout in SafeTimer::timer_thread::callback->complete

Fixes: #13208
Signed-off-by: Ruifeng Yang <yangruifeng.09209@h3c.com>
2015-09-25 12:42:36 +08:00
Ruifeng Yang
0635b13583 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.

Fixes: #13208
Signed-off-by: Ruifeng Yang <yangruifeng.09209@h3c.com>
2015-09-25 10:21:47 +08:00
Haomai Wang
482d4e503d AsyncConnection: Add new debug log
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-25 09:05:56 +08:00
Sage Weil
a1eb380c3d osd/ReplicatedPG: fix ENOSPC checking
1. We need to return ENOSPC *before* we apply our side-effects to the obc
cache in finish_ctx().

2. Consider object count changes too, not just bytes.

3. Consider cluster full flag, not just the pool flag.

4. Reply only if FULL_TRY; silently drop ops that were sent despite the
full flag.

Fixes: #13098
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:27:16 -04:00
Sage Weil
da7f3adda4 osd/osd_types: remove [pool_]last_epoch_marked_full from OSDSuperblock
This is no longer used or needed.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:03 -04:00
Sage Weil
9c93ee3002 osd: remove buggy [pool_]last_map_marked_full tracking
This is buggy (we reset the pool epoch each time it remains full instead
of only on the initial transition from non-full to full) and now unused.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:03 -04:00
Sage Weil
8ffefecf23 osd: do full check in do_op
1. The current pool_last_map_marked_full tracking is buggy.
2. We need to recheck this each time we consider the op, not just when it
is received off the wire.  Otherwise, we might get a message, queue it
for some reason, get a map indicating the cluster or pool is full, and
then requeue and process the op instead of discarding it.
3. For now, silently drop ops when failsafe check fails. This will lead to
stalled client IO.  This needs a more robust fix.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:03 -04:00
Sage Weil
1f2274e2b4 osd/PG: set last_epoch_marked_full on map advance
This will get persisted and shared.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:03 -04:00
Sage Weil
79475d8e8f osd/osd_types: add last_epoch_marked_full to pg_history_t
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:02 -04:00
Sage Weil
bf7e937a8b osdc/Objecter: set FULL_FORCE flag when honor_full is false
This currenty only applies to the MDS.  Eventually we can remove the
OSD MDS checks once we are confident all MDS instances are new enough
to set this flag.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:02 -04:00
Sage Weil
95055e70ff osd: add FULL_TRY and FULL_FORCE rados op flags
FULL_TRY = try to do the op; ENOSPC if it results in a net increase is
space.  client must cope.

FULL_FORCE = do the op even if it consumes space.  The MDS will use this.
We should restrict this based on the OSD cap (* vs w, probably).

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:02:56 -04:00
Sage Weil
7757342ffc qa: https://ceph.com/git -> https://git.ceph.com
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 18:36:57 -04:00
Josh Durgin
c592133330 Merge pull request #6031 from s09816/master
librbd:reads larger than cache size hang.

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-09-24 18:35:13 -04:00
Sage Weil
d4d65fbd6a qa: http://ceph.com/qa -> http://download.ceph.com/qa
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 18:10:46 -04:00
Sage Weil
cdccf1106e osd/PG: compensate for sloppy hobject scrub bounds from hammer
Hammer is sloppy about the hobject_t's it uses for the scrub bounds in that
the pool isn't set.  (Hammer FileStore doesn't care, but post-hammer is
much more careful about this sort of thing.)

Compensate by setting the pool on any scrub messages we receive.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 11:38:41 -04:00
Sage Weil
acda626d03 osd: avoid duplicate MMonGetOSDMap requests
These are relatively expensive (we grab the full map from the mon) so we
should avoid duplicating our requests.

Track which requests are in flight.  Only send a new request when new
maps are asked for.  Resend requests when there is a new mon session.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 11:36:30 -04:00
Loic Dachary
18a985affd Merge pull request #6072 from yuyuyu101/update-org
Update org

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-09-24 16:19:43 +02:00
Haomai Wang
f4bf14dd9b Update Xinze affinity
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-24 21:58:51 +08:00
Kefu Chai
d50f5429bd Merge pull request #6066 from dachary/wip-ceph-detect-init
build/ops: ceph-detect-init must ignore .cache

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-24 21:57:31 +08:00
Haomai Wang
eb28eeff0c Update Chen Min affinity
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-24 21:56:49 +08:00
Haomai Wang
58b8a8f26e Update Tianshan affinity
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-24 21:55:21 +08:00