]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agoceph.spec.in: remove comments regarding ceph UID/GID in SUSE 6171/head
Nathan Cutler [Tue, 6 Oct 2015 13:07:41 +0000 (15:07 +0200)]
ceph.spec.in: remove comments regarding ceph UID/GID in SUSE

It is possible that the ceph user/group will not have fixed UID/GID in SUSE.
Instead, it is possible that the ceph package will depend on a separate package
whose sole purpose will be to create the ceph user/group if they do not exist.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: enable OBS post-build-checks to find systemd-tmpfiles
Nathan Cutler [Tue, 6 Oct 2015 10:25:52 +0000 (12:25 +0200)]
ceph.spec.in: enable OBS post-build-checks to find systemd-tmpfiles

The openSUSE Build Service runs a number of "post-build checks" after the RPMs
have been generated. One of these tests the RPM scriptlets for idempotence.
Without this line in the specfile, the check fails on SLE_12 because it cannot
find the systemd-tmpfiles binary.

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoetc/sysconfig/ceph: add CEPH_AUTO_RESTART_ON_UPGRADE
Nathan Cutler [Sat, 3 Oct 2015 10:04:33 +0000 (12:04 +0200)]
etc/sysconfig/ceph: add CEPH_AUTO_RESTART_ON_UPGRADE

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: Standardize systemd preun and postun scripts
Nathan Cutler [Tue, 8 Sep 2015 08:09:35 +0000 (10:09 +0200)]
ceph.spec.in: Standardize systemd preun and postun scripts

Currently, the main ceph package and the ceph-radosgw behave
differently on upgrade. This commit unifies their behavior
to the following:

On package removal, disable and stop all related systemd units.

On package upgrade, do nothing unless there is a file /etc/sysconfig/ceph
containing a parameter CEPH_AUTO_RESTART_ON_UPGRADE. If parameter is set
to "yes", restart the systemd units iff they are running.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: fix for out-of-memory errors in OBS
Nathan Cutler [Fri, 2 Oct 2015 10:15:08 +0000 (12:15 +0200)]
ceph.spec.in: fix for out-of-memory errors in OBS

Add "--param ggc-min-expand=20 --param ggc-min-heapsize=32768"
to RPM_OPT_FLAGS, ensuring gcc does not add debug symbols and is
more aggressive about garbage collection.

Thanks to Berthold Gunreben for debugging this issue.

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: Use _smp_mflags instead of _NPROCESSORS_ONLN
Nathan Cutler [Fri, 2 Oct 2015 13:30:41 +0000 (15:30 +0200)]
ceph.spec.in: Use _smp_mflags instead of _NPROCESSORS_ONLN

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoRevert "install-deps.sh: use %bcond_with selinux on SLE/openSUSE"
Nathan Cutler [Sat, 3 Oct 2015 08:46:06 +0000 (10:46 +0200)]
Revert "install-deps.sh: use %bcond_with selinux on SLE/openSUSE"

This reverts commit 1df2cc2bf625a1f65ef4968d9cf313cc8ee9acc5.

9 years agoceph.spec.in: selinux by default on RHEL/Fedora, non-default on SUSE
Nathan Cutler [Sat, 3 Oct 2015 08:43:51 +0000 (10:43 +0200)]
ceph.spec.in: selinux by default on RHEL/Fedora, non-default on SUSE

Surround it with an appropriate conditional.

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: use %fillup_only macro in SLE/openSUSE
Nathan Cutler [Sat, 3 Oct 2015 07:05:03 +0000 (09:05 +0200)]
ceph.spec.in: use %fillup_only macro in SLE/openSUSE

SUSE does not allow /etc/sysconfig/ceph to be owned by the ceph
package.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: distro-conditional groupadd and useradd
Nathan Cutler [Fri, 2 Oct 2015 21:21:02 +0000 (23:21 +0200)]
ceph.spec.in: distro-conditional groupadd and useradd

The -o option to groupadd/useradd is not recognized in SLE12. For
SLE/openSUSE, follow the openSUSE packaging guidelines.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: move systemd-tmpfiles stuff to ceph-common
Nathan Cutler [Fri, 2 Oct 2015 21:23:17 +0000 (23:23 +0200)]
ceph.spec.in: move systemd-tmpfiles stuff to ceph-common

Since the ceph user and group are created in the ceph-common
%pre scriptlet, the systemd-tmpfiles --create command needs
to run in that package.

tracker.ceph.com/issues/13346 Fixes: #13346

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: remove SUSE-specific curses hack
Nathan Cutler [Fri, 2 Oct 2015 09:01:44 +0000 (11:01 +0200)]
ceph.spec.in: remove SUSE-specific curses hack

Unclear what this was supposed to fix.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: lttng in SLES12 only
Nathan Cutler [Tue, 29 Sep 2015 08:39:16 +0000 (10:39 +0200)]
ceph.spec.in: lttng in SLES12 only

Over in the SUSE sector, we are trying to enable the SLE_12 and openSUSE_13.2
build targets. The lttng/babeltrace stuff is currently available only in
SLE_12.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: drop %insserv_prereq (obsoleted by systemd)
Nathan Cutler [Tue, 29 Sep 2015 22:08:04 +0000 (00:08 +0200)]
ceph.spec.in: drop %insserv_prereq (obsoleted by systemd)

The %post, etc. scriptlets are no longer calling %insserv, et al.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
9 years agoceph.spec.in: fix boost-random build dependency for SLE/openSUSE
Nathan Cutler [Tue, 29 Sep 2015 08:42:39 +0000 (10:42 +0200)]
ceph.spec.in: fix boost-random build dependency for SLE/openSUSE

In Fedora, RHEL and CentOS there is a package called boost-random.
In SLE/openSUSE, there is no such package.

Signed-off-by: Nathan Cutler <ncutler@suse.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 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 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>
9 years agoosdc/Objecter: set FULL_FORCE flag when honor_full is false
Sage Weil [Thu, 24 Sep 2015 23:02:21 +0000 (19:02 -0400)]
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>
9 years agoosd: add FULL_TRY and FULL_FORCE rados op flags
Sage Weil [Thu, 24 Sep 2015 22:40:51 +0000 (18:40 -0400)]
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>
9 years agoqa: https://ceph.com/git -> https://git.ceph.com 6077/head
Sage Weil [Thu, 24 Sep 2015 22:36:57 +0000 (18:36 -0400)]
qa: https://ceph.com/git -> https://git.ceph.com

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6031 from s09816/master
Josh Durgin [Thu, 24 Sep 2015 22:35:13 +0000 (18:35 -0400)]
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>