]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agolibrbd: invalidate object map on error even w/o holding lock 6184/head
Jason Dillaman [Tue, 6 Oct 2015 16:31:59 +0000 (12:31 -0400)]
librbd: invalidate object map on error even w/o holding lock

If there is a deep bug that prevents the object map from owning
the lock before objects are updated, flag the object map as invalid
regardless.

Fixes: #13372
Backport: hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agodoc/release-notes: initial v9.1.0 notes
Sage Weil [Tue, 6 Oct 2015 01:57:40 +0000 (21:57 -0400)]
doc/release-notes: initial v9.1.0 notes

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6110 from ceph/wip-13239-infernalis
Sage Weil [Mon, 5 Oct 2015 21:32:00 +0000 (17:32 -0400)]
Merge pull request #6110 from ceph/wip-13239-infernalis

rgw: set default value for env->get() call

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6142 from ceph/wip-13061
Sage Weil [Mon, 5 Oct 2015 20:12:57 +0000 (16:12 -0400)]
Merge pull request #6142 from ceph/wip-13061

ceph.spec.in: Do not always restart the daemons on upgrades/removal

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
9 years agoMerge pull request #6105 from liewegas/wip-13262
Sage Weil [Mon, 5 Oct 2015 20:09:03 +0000 (16:09 -0400)]
Merge pull request #6105 from liewegas/wip-13262

mon: ignore messages from disconnected clients; clean up session checks

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
9 years agoMerge pull request #6176 from liewegas/wip-13283
Sage Weil [Mon, 5 Oct 2015 18:51:43 +0000 (14:51 -0400)]
Merge pull request #6176 from liewegas/wip-13283

osdc/Objecter: send FULL_TRY and FULL_FORCE ops despite full flag

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoosdc/Objecter: send FULL_TRY and FULL_FORCE ops despite full flag 6176/head
Sage Weil [Mon, 5 Oct 2015 13:15:55 +0000 (09:15 -0400)]
osdc/Objecter: send FULL_TRY and FULL_FORCE ops despite full flag

If a request has the FULL_TRY or FULL_FORCE flag, send it despite a full
pool or cluster.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agomon: allow ping through despite synch/quorum status, with session 6105/head
Sage Weil [Wed, 30 Sep 2015 01:13:48 +0000 (21:13 -0400)]
mon: allow ping through despite synch/quorum status, with session

Attach sessions to ping messages, too.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agomon: drop ops on closed sessions early
Sage Weil [Tue, 29 Sep 2015 14:09:37 +0000 (10:09 -0400)]
mon: drop ops on closed sessions early

We will throw it out in dispatch_op() anyway.  Remove the ancient (~2009)
reuse_caps logic too, which doesn't make any sense nowadays anyway.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agomon: clean up _ms_dispatch
Sage Weil [Tue, 29 Sep 2015 14:09:04 +0000 (10:09 -0400)]
mon: clean up _ms_dispatch

Lots of cruft here.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agomon: all MonOpRequests have an attached Session
Sage Weil [Tue, 29 Sep 2015 12:48:51 +0000 (08:48 -0400)]
mon: all MonOpRequests have an attached Session

...except in dispatch, where we initially set it up.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agomon: drop any ops from closed sessions in dispatch_op
Sage Weil [Tue, 29 Sep 2015 12:50:16 +0000 (08:50 -0400)]
mon: drop any ops from closed sessions in dispatch_op

If we've closed the session we shouldn't waste our time on this op.

Fixes: #13262 (we should not add a subscription to a disconnected session)
Signed-off-by: Sage Weil <sage@redhat.com>
9 years agomon: always set up session; move waitlist logic
Sage Weil [Tue, 29 Sep 2015 13:49:50 +0000 (09:49 -0400)]
mon: always set up session; move waitlist logic

Unconditionally attach a Session, so that when we push an op back through
dispatch_op it isn't in a weird broken state.

Move the waitinglist check to the bottom.  Use s->global_id == 0 to tell
whether a client has authenticated, and zap sessions based on that.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agomon: fix msg leak in resend_routed_requests
Sage Weil [Fri, 2 Oct 2015 21:43:22 +0000 (17:43 -0400)]
mon: fix msg leak in resend_routed_requests

MForward takes its own ref so we can drop ours.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMon: Fix decoded message leak when this monitor is leader
Haomai Wang [Fri, 2 Oct 2015 11:14:59 +0000 (19:14 +0800)]
Mon: Fix decoded message leak when this monitor is leader

Fix #13109
Signed-off-by: Haomai Wang <haomai@xsky.com>
Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6139 from liewegas/wip-13283
Sage Weil [Sat, 3 Oct 2015 12:50:25 +0000 (08:50 -0400)]
Merge pull request #6139 from liewegas/wip-13283

librados: add FULL_TRY flag; EDQUOT != ENOSPC

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agolibrados: document new flag 6139/head
Sage Weil [Fri, 2 Oct 2015 21:47:54 +0000 (17:47 -0400)]
librados: document new flag

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6169 from rzarzynski/wip-13326
Yehuda Sadeh [Fri, 2 Oct 2015 21:17:42 +0000 (14:17 -0700)]
Merge pull request #6169 from rzarzynski/wip-13326

rgw: improve handling of already removed buckets in object expirer.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoMerge pull request #6168 from SUSE/wip-13333-infernalis
Ken Dreyer [Fri, 2 Oct 2015 19:30:37 +0000 (13:30 -0600)]
Merge pull request #6168 from SUSE/wip-13333-infernalis

ceph.spec.in: correctly declare systemd dependency for SLE/openSUSE

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
9 years agoceph.spec.in: correctly declare systemd dependency for SLE/openSUSE 6168/head
Nathan Cutler [Tue, 29 Sep 2015 21:28:00 +0000 (23:28 +0200)]
ceph.spec.in: correctly declare systemd dependency for SLE/openSUSE

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 7b1882f87509092380d11ec68b504a7bc1f77830)

9 years agoosd/ReplicatedPG: exempt MDS from the failsafe check, too
Sage Weil [Fri, 2 Oct 2015 18:12:22 +0000 (14:12 -0400)]
osd/ReplicatedPG: exempt MDS from the failsafe check, too

This mimics the prior behavior.  We probably want to change this at some
point!

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agorgw: improve handling of already removed buckets in object expirer. 6138/head 6169/head
Radoslaw Zarzynski [Thu, 1 Oct 2015 19:06:13 +0000 (21:06 +0200)]
rgw: improve handling of already removed buckets in object expirer.

Fixes: #13326
Backport: infernalis
Signed-off-by: Radoslaw Zarzynski <rzarzynski@github.com>
9 years agoMerge pull request #6096 from liewegas/wip-13260
Sage Weil [Fri, 2 Oct 2015 12:47:33 +0000 (08:47 -0400)]
Merge pull request #6096 from liewegas/wip-13260

osd/ReplicatedPG: preserve (some) flags when proxying reads

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #6136 from liewegas/wip-13114
Sage Weil [Fri, 2 Oct 2015 12:38:39 +0000 (08:38 -0400)]
Merge pull request #6136 from liewegas/wip-13114

osd/librados: fix notify completion race

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoceph.spec.in: Do not always restart the daemons on removal 6142/head
Boris Ranto [Fri, 2 Oct 2015 08:37:04 +0000 (10:37 +0200)]
ceph.spec.in: Do not always restart the daemons on removal

There is no need to restart the daemons when removing ceph-selinux
package if SELinux is not enabled.

Fixes: #13061
Signed-off-by: Boris Ranto <branto@redhat.com>
9 years agoceph.spec.in: Do not always restart the daemons on upgrades
Boris Ranto [Fri, 2 Oct 2015 07:56:01 +0000 (09:56 +0200)]
ceph.spec.in: Do not always restart the daemons on upgrades

This patch minimizes the amount of daemon stop/start procedures when
upgrading ceph-selinux package. With this patch, the daemons get
restarted only if SELinux is enabled and the SELinux policy version
changed in the meantime.

Fixes: #13061
Signed-off-by: Boris Ranto <branto@redhat.com>
9 years agoMerge pull request #6137 from SUSE/wip-13324-infernalis
Loic Dachary [Thu, 1 Oct 2015 22:34:53 +0000 (00:34 +0200)]
Merge pull request #6137 from SUSE/wip-13324-infernalis

install-deps.sh: use %bcond_with selinux on SLE/openSUSE

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge remote-tracking branch 'jdurgin/wip-13281' into infernalis
Samuel Just [Thu, 1 Oct 2015 21:55:37 +0000 (14:55 -0700)]
Merge remote-tracking branch 'jdurgin/wip-13281' into infernalis

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoinstall-deps.sh: use %bcond_with selinux on SLE/openSUSE 6137/head
Nathan Cutler [Thu, 1 Oct 2015 19:04:29 +0000 (21:04 +0200)]
install-deps.sh: use %bcond_with selinux on SLE/openSUSE

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph_test_rados_api_aio: test pool full gets EDQUOT when FULL_TRY flag is set
Sage Weil [Thu, 1 Oct 2015 19:34:59 +0000 (15:34 -0400)]
ceph_test_rados_api_aio: test pool full gets EDQUOT when FULL_TRY flag is set

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agolibrados: expose OPERATION_FULL_TRY flag
Sage Weil [Thu, 1 Oct 2015 19:03:22 +0000 (15:03 -0400)]
librados: expose OPERATION_FULL_TRY flag

Allow librados users to opt to receive ENOSPC or EDQUOT when they submit
an operation against a full cluster.  This should only be used if the
librados app can handle those errors gracefully (librbd, for example,
cannot).

Also note that this allows savvy librados users to send delete operations;
they will get either a success or EDQUOT, depending on whether the
operation results in a net drop in space utilization.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosd: return -EDQUOT instead of -ENOSPC if it is a pool quota
Sage Weil [Thu, 1 Oct 2015 19:01:59 +0000 (15:01 -0400)]
osd: return -EDQUOT instead of -ENOSPC if it is a pool quota

The pool quota error should return EDQUOT intead of ENOSPC.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosdc/Objecter: distinguish between multiple notify completions 6136/head
Sage Weil [Thu, 1 Oct 2015 18:50:34 +0000 (14:50 -0400)]
osdc/Objecter: distinguish between multiple notify completions

We may send a notify to the cluster multiple times due to OSDMap
changes.  In some cases, earlier notify attempts may complete with
an error, while later attempts succeed.  We need to only pay
attention to the most-recently send notify's completion.

Do this by making note of the notify_id in the initial ACK (only
present when talking to newer OSDs).  When we get a notify
completion, match it against our expected notify_id (if we have
one) or else discard it.

This is important because in some cases an early notify completion
may be an error while a later one succeeds.

Note that if we are talking to an old cluster we will simply not record a
notify_id and our behavior will be the same as before (we will trust any
notify completion we get).

Fixes: #13114
Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosd: reply to notify request with our unique notify_id
Sage Weil [Thu, 1 Oct 2015 18:50:00 +0000 (14:50 -0400)]
osd: reply to notify request with our unique notify_id

The OSD assigns a unique ID to each notify it queues for
processing.  Include this in the reply to the notifier so that
they can match it up with the eventual completions they receive.

This is necessary to distinguish between multiple completions
they may receive if there is PG peering and the notify is resent.
In particular, an earlier notify may return an error when a later
attempt succeeds.

This is forwards and backwards compatible: new clients will make use of
this reply payload but older clients ignore it.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6134 from SUSE/wip-13318-infernalis
Sage Weil [Thu, 1 Oct 2015 14:15:52 +0000 (10:15 -0400)]
Merge pull request #6134 from SUSE/wip-13318-infernalis

install-deps.sh: openSUSE-release/sles-release/sled-release are always present

9 years agoinstall-deps.sh: openSUSE-release/sles-release/sled-release are always present 6134/head
Nathan Cutler [Thu, 1 Oct 2015 14:04:26 +0000 (16:04 +0200)]
install-deps.sh: openSUSE-release/sles-release/sled-release are always present

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoMerge branch 'wip-add-async-log' of git://github.com/yuyuyu101/ceph into infernalis
Sage Weil [Thu, 1 Oct 2015 12:34:31 +0000 (08:34 -0400)]
Merge branch 'wip-add-async-log' of git://github.com/yuyuyu101/ceph into infernalis

9 years agoMerge pull request #6117 from athanatos/wip-12990
Samuel Just [Wed, 30 Sep 2015 17:15:48 +0000 (10:15 -0700)]
Merge pull request #6117 from athanatos/wip-12990

Wip 12990

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6120 from athanatos/wip-13185
Samuel Just [Wed, 30 Sep 2015 17:15:24 +0000 (10:15 -0700)]
Merge pull request #6120 from athanatos/wip-13185

Wip 13185

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6122 from athanatos/wip-13234
Sage Weil [Wed, 30 Sep 2015 12:36:36 +0000 (08:36 -0400)]
Merge pull request #6122 from athanatos/wip-13234

OSDMap: fill in known encode_features where possible

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge branch 'wip-12983' of git://github.com/dzafman/ceph into infernalis
Sage Weil [Wed, 30 Sep 2015 01:09:43 +0000 (21:09 -0400)]
Merge branch 'wip-12983' of git://github.com/dzafman/ceph into infernalis

9 years agoMerge pull request #6119 from athanatos/wip-13192
Sage Weil [Wed, 30 Sep 2015 00:32:47 +0000 (20:32 -0400)]
Merge pull request #6119 from athanatos/wip-13192

Wip 13192

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6121 from athanatos/wip-13199
Sage Weil [Wed, 30 Sep 2015 00:24:41 +0000 (20:24 -0400)]
Merge pull request #6121 from athanatos/wip-13199

OSDService::agent_entry: don't use PG::operator<< without pg lock

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6113 from dachary/wip-13176-objectstore-tool
Loic Dachary [Wed, 30 Sep 2015 00:21:58 +0000 (02:21 +0200)]
Merge pull request #6113 from dachary/wip-13176-objectstore-tool

ceph-objectstore-tool: delete ObjectStore::Sequencer after umount

Reviewed-by: David Zafman <dzafman@redhat.com>
9 years agoMerge pull request #6036 from liewegas/wip-13116
Samuel Just [Wed, 30 Sep 2015 00:19:12 +0000 (17:19 -0700)]
Merge pull request #6036 from liewegas/wip-13116

osd: fix replay requeue when pg is activating

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge remote-tracking branch 'gh/infernalis'
Sage Weil [Wed, 30 Sep 2015 00:15:31 +0000 (20:15 -0400)]
Merge remote-tracking branch 'gh/infernalis'

9 years agoReplicatedPG: clearing a whiteout should create the object 6118/head
Josh Durgin [Wed, 30 Sep 2015 00:02:57 +0000 (17:02 -0700)]
ReplicatedPG: clearing a whiteout should create the object

This was uncovered by 75321943729f1d5dfacb68645e3c5483740d66f8. Since
rbd_create() does a stat, the obc is cached as a whiteout, and the
subsequent create(EXCL) would fall through to return false from
maybe_create_new_object(). This would then skip adding a touch() to
the transaction.

Fixes: #13281
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
9 years agoceph-objectstore-tool: delete ObjectStore::Sequencer after umount 6113/head
Loic Dachary [Tue, 29 Sep 2015 20:48:49 +0000 (22:48 +0200)]
ceph-objectstore-tool: delete ObjectStore::Sequencer after umount

An ObjectStore::Sequencer provided to an ObjectStore must not be
deallocated before umount. The ObjectStore::Sequencer may hold a pointer
to the instance with no reference counting. If a Context completes after
the ObjectStore::Sequencer is deleted, it could try to use it and fail.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge pull request #6101 from liewegas/wip-fs
Sage Weil [Tue, 29 Sep 2015 21:42:08 +0000 (17:42 -0400)]
Merge pull request #6101 from liewegas/wip-fs

os/fs: fix do loop

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agorgw: set default value for env->get() call 6110/head
Yehuda Sadeh [Fri, 25 Sep 2015 17:44:40 +0000 (10:44 -0700)]
rgw: set default value for env->get() call

Fixes: #13239
This fixes a regression introduced at commit abe4ec293d08b0314bf5c081ace2456073f3a22c.
The host var is a string, env->get() returns a char pointer, shouldn't
pass in NULL.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agomon: combine _ms_dispatch and dispatch
Sage Weil [Tue, 29 Sep 2015 13:52:36 +0000 (09:52 -0400)]
mon: combine _ms_dispatch and dispatch

_ms_dispatch() is the only caller, and it is confusing to have both
dispatch() and dispatch_op() that take the same argument type.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6103 from SUSE/wip-re-redrop-fdupes
branto1 [Tue, 29 Sep 2015 10:57:32 +0000 (12:57 +0200)]
Merge pull request #6103 from SUSE/wip-re-redrop-fdupes

ceph.spec.in: re-re-drop fdupes

Reviewed-by: Boris Ranto <branto@redhat.com>
9 years agoceph.spec.in: re-re-drop fdupes 6103/head
Nathan Cutler [Tue, 29 Sep 2015 06:57:16 +0000 (08:57 +0200)]
ceph.spec.in: re-re-drop fdupes

The %fdupes call was dropped by 53072b9019caf72e0313b2804ea174237ed7da33
Later, it got accidentally reinstated by ceb93e8e69e125c9358f63b0099e7509b6624bcf

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoMerge pull request #6025 from ukernel/wip-13167
Gregory Farnum [Tue, 29 Sep 2015 05:21:34 +0000 (22:21 -0700)]
Merge pull request #6025 from ukernel/wip-13167

journaler: detect unexpected holes in journal objects

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
9 years agoMerge pull request #5849 from ukernel/wip-32bits-ceph-fuse
Gregory Farnum [Tue, 29 Sep 2015 05:19:11 +0000 (22:19 -0700)]
Merge pull request #5849 from ukernel/wip-32bits-ceph-fuse

Wip 32bits ceph fuse

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
9 years agoMerge pull request #4791 from ceph/wip-11783
Gregory Farnum [Tue, 29 Sep 2015 05:14:52 +0000 (22:14 -0700)]
Merge pull request #4791 from ceph/wip-11783

cephfs: detect completed cap flushes

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
9 years agoMerge pull request #6070 from jcsp/wip-reformat-subtreemaptest
Yan, Zheng [Tue, 29 Sep 2015 02:12:39 +0000 (10:12 +0800)]
Merge pull request #6070 from jcsp/wip-reformat-subtreemaptest

Fix reformatting journals containing SUBTREEMAP_TEST events

9 years agoMerge pull request #6082 from jcsp/wip-client-quota-roots
Yan, Zheng [Tue, 29 Sep 2015 02:02:28 +0000 (10:02 +0800)]
Merge pull request #6082 from jcsp/wip-client-quota-roots

Fix quota enforcement on subdir mounts

9 years agoos/fs: fix aio submit method 6101/head
Sage Weil [Tue, 29 Sep 2015 01:31:23 +0000 (21:31 -0400)]
os/fs: fix aio submit method

continue in a do while(false) will always eval false and break
out.  To repeat, we need while (true) and an explicit break.

Reported-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6078 from H3C/wip-13208
Sage Weil [Mon, 28 Sep 2015 20:42:01 +0000 (16:42 -0400)]
Merge pull request #6078 from H3C/wip-13208

Objecter: maybe access wild pointer(op) in _op_submit_with_budget.

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #6064 from H3C/wip-rbd-bugfix1
Sage Weil [Mon, 28 Sep 2015 20:41:44 +0000 (16:41 -0400)]
Merge pull request #6064 from H3C/wip-rbd-bugfix1

Objecter: misc fix for segmentation fault.

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6084 from liewegas/wip-revert-scrub
Sage Weil [Mon, 28 Sep 2015 20:40:31 +0000 (16:40 -0400)]
Merge pull request #6084 from liewegas/wip-revert-scrub

Revert "osd: new pool settings: scrub intervals"

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
9 years agoMerge pull request #5832 from SUSE/wip-drop-dup-rcceph
Ken Dreyer [Mon, 28 Sep 2015 19:09:33 +0000 (13:09 -0600)]
Merge pull request #5832 from SUSE/wip-drop-dup-rcceph

ceph.spec.in: refrain from duplicating %{_sbindir}/rcceph

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
9 years agoECBackend::handle_recovery_read_complete: do not expose the hash_info when getting... 6054/head
Samuel Just [Fri, 25 Sep 2015 20:52:53 +0000 (13:52 -0700)]
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>
9 years agoECBackend::handle_sub_read: restructure hash check and fix part of 12983
David Zafman [Fri, 18 Sep 2015 23:46:26 +0000 (16:46 -0700)]
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>
9 years agoMerge pull request #6098 from liewegas/wip-crash-replay-interval
Samuel Just [Mon, 28 Sep 2015 17:17:41 +0000 (10:17 -0700)]
Merge pull request #6098 from liewegas/wip-crash-replay-interval

don't assume crash_replay_itnerval == 45

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoqa/workunits/cephtool/test.sh: don't assume crash_replay_interval=45 6098/head
Sage Weil [Mon, 28 Sep 2015 17:13:40 +0000 (13:13 -0400)]
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>
9 years agoMerge pull request #6076 from liewegas/wip-scrub-fix
Sage Weil [Mon, 28 Sep 2015 15:44:46 +0000 (11:44 -0400)]
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>
9 years agoosd/ReplicatedPG: preserve (some) flags when proxying reads 6096/head
Sage Weil [Mon, 28 Sep 2015 14:28:48 +0000 (10:28 -0400)]
osd/ReplicatedPG: preserve (some) flags when proxying reads

In particular, proxy RWORDERED as clients in the real world set
that.

Fixes: #13260
Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6086 from stiopaa1/librados_missingsemicolon
Loic Dachary [Sat, 26 Sep 2015 14:12:33 +0000 (16:12 +0200)]
Merge pull request #6086 from stiopaa1/librados_missingsemicolon

examples/librados/hello_world.cc:missing semicolon

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoexamples/librados/hello_world.cc:missing semicolon 6086/head
Michal Jarzabek [Sat, 26 Sep 2015 13:45:22 +0000 (14:45 +0100)]
examples/librados/hello_world.cc:missing semicolon

Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
9 years agoMerge pull request #6068 from dachary/wip-12936-shec
Sage Weil [Sat, 26 Sep 2015 05:24:22 +0000 (01:24 -0400)]
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>
9 years agoMerge pull request #6052 from liewegas/wip-13098
Sage Weil [Sat, 26 Sep 2015 05:22:39 +0000 (01:22 -0400)]
Merge pull request #6052 from liewegas/wip-13098

osd: fix full request handling

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #6075 from liewegas/wip-osd-getmap
Sage Weil [Sat, 26 Sep 2015 05:22:10 +0000 (01:22 -0400)]
Merge pull request #6075 from liewegas/wip-osd-getmap

osd: avoid duplicate MMonGetOSDMap requests

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #6077 from liewegas/wip-qa
Dan Mick [Fri, 25 Sep 2015 18:14:51 +0000 (11:14 -0700)]
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>
9 years agoRevert "osd: new pool settings: scrub intervals" 6084/head
Sage Weil [Fri, 25 Sep 2015 18:01:19 +0000 (14:01 -0400)]
Revert "osd: new pool settings: scrub intervals"

This reverts commit 30810da4b573b3c7e679bc66eaa29b70246538cb.

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>
9 years agoOSDMap: fill in known encode_features where possible 6122/head
Samuel Just [Fri, 25 Sep 2015 01:35:39 +0000 (18:35 -0700)]
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>
9 years agoMerge pull request #6083 from jcsp/wip-mds-allow-star
Gregory Farnum [Fri, 25 Sep 2015 15:40:51 +0000 (08:40 -0700)]
Merge pull request #6083 from jcsp/wip-mds-allow-star

ceph-create-keys: set mds "allow *"

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
9 years agoceph-create-keys: set mds "allow *" 6083/head
John Spray [Fri, 25 Sep 2015 15:07:59 +0000 (16:07 +0100)]
ceph-create-keys: set mds "allow *"

So that 'tell' works out of the box.

Signed-off-by: John Spray <john.spray@redhat.com>
9 years agoerasure-code: shec must compare for equality with epsilon 6068/head
Loic Dachary [Thu, 24 Sep 2015 09:35:13 +0000 (11:35 +0200)]
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>
9 years agoMerge pull request #5959 from mslovy/wip-current-dev
Kefu Chai [Fri, 25 Sep 2015 13:41:48 +0000 (21:41 +0800)]
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>
9 years agoMerge pull request #5356 from majianpeng/code-cleanup
Kefu Chai [Fri, 25 Sep 2015 13:39:20 +0000 (21:39 +0800)]
Merge pull request #5356 from majianpeng/code-cleanup

osd: cleanup code when met crc error.

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #5972 from Jerry7X/master
Kefu Chai [Fri, 25 Sep 2015 13:31:38 +0000 (21:31 +0800)]
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>
9 years agoMerge remote-tracking branch 'gh/infernalis'
Sage Weil [Fri, 25 Sep 2015 12:59:54 +0000 (08:59 -0400)]
Merge remote-tracking branch 'gh/infernalis'

9 years agoMerge pull request #6048 from XinzeChi/wip-filestore-qlock
Sage Weil [Fri, 25 Sep 2015 12:56:02 +0000 (08:56 -0400)]
Merge pull request #6048 from XinzeChi/wip-filestore-qlock

filestore: fix peek_queue for OpSequencer

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6040 from liewegas/wip-mon-kv
Sage Weil [Fri, 25 Sep 2015 12:53:53 +0000 (08:53 -0400)]
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>
9 years agoMerge pull request #6022 from jdurgin/wip-13032
Sage Weil [Fri, 25 Sep 2015 12:53:00 +0000 (08:53 -0400)]
Merge pull request #6022 from jdurgin/wip-13032

msg: randomize client nonces

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6012 from liewegas/wip-mon
Sage Weil [Fri, 25 Sep 2015 12:52:29 +0000 (08:52 -0400)]
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>
9 years agoclient: fix quote enforcement on subdir mounts 6082/head
John Spray [Fri, 25 Sep 2015 12:23:01 +0000 (13:23 +0100)]
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>
9 years agoclient: refactor quota check functions
John Spray [Fri, 25 Sep 2015 12:02:56 +0000 (13:02 +0100)]
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>
9 years agoMerge pull request #6027 from wido/mirror-docs
Kefu Chai [Fri, 25 Sep 2015 11:16:08 +0000 (19:16 +0800)]
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>
9 years agoObjecter: repeated free op->ontimeout. 6064/head
Ruifeng Yang [Fri, 25 Sep 2015 04:42:28 +0000 (12:42 +0800)]
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>
9 years agoObjecter: maybe access wild pointer(op) in _op_submit_with_budget. 6078/head
Ruifeng Yang [Fri, 25 Sep 2015 02:18:11 +0000 (10:18 +0800)]
Objecter: maybe access wild pointer(op) in _op_submit_with_budget.

look at "after giving up session lock it can be freed at any time by response handler" in _op_submit,
so the _op_submit_with_budget::op maybe is wild after call _op_submit.

Fixes: #13208
Signed-off-by: Ruifeng Yang <yangruifeng.09209@h3c.com>
9 years agoAsyncConnection: Add new debug log 6073/head
Haomai Wang [Thu, 24 Sep 2015 14:20:27 +0000 (22:20 +0800)]
AsyncConnection: Add new debug log

Signed-off-by: Haomai Wang <haomai@xsky.com>
9 years agoosd/ReplicatedPG: fix ENOSPC checking 6052/head
Sage Weil [Thu, 24 Sep 2015 23:27:16 +0000 (19:27 -0400)]
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>
9 years agoosd/osd_types: remove [pool_]last_epoch_marked_full from OSDSuperblock
Sage Weil [Wed, 23 Sep 2015 14:19:46 +0000 (10:19 -0400)]
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>
9 years agoosd: remove buggy [pool_]last_map_marked_full tracking
Sage Weil [Wed, 23 Sep 2015 14:26:25 +0000 (10:26 -0400)]
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>
9 years agoosd: do full check in do_op
Sage Weil [Wed, 23 Sep 2015 14:25:30 +0000 (10:25 -0400)]
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>
9 years agoosd/PG: set last_epoch_marked_full on map advance
Sage Weil [Wed, 23 Sep 2015 14:14:47 +0000 (10:14 -0400)]
osd/PG: set last_epoch_marked_full on map advance

This will get persisted and shared.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosd/osd_types: add last_epoch_marked_full to pg_history_t
Sage Weil [Wed, 23 Sep 2015 14:01:35 +0000 (10:01 -0400)]
osd/osd_types: add last_epoch_marked_full to pg_history_t

Signed-off-by: Sage Weil <sage@redhat.com>