]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoos/chain_xattr: handle read on chnk-aligned xattr 5235/head
Sage Weil [Wed, 18 Mar 2015 20:49:20 +0000 (13:49 -0700)]
os/chain_xattr: handle read on chnk-aligned xattr

If we wrote an xattr that was a multiple of a chunk, we will try to read
the next chunk and get ENODATA.  If that happens bail out of the loop and
assume we've read the whole thing.

Backport: hammer, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 8614dcebf384b74b283cd352001a65fa26ba925c)

Conflicts:
    src/test/objectstore/chain_xattr.cc
        added #define FILENAME

10 years agoMerge pull request #4631 from SUSE/wip-11069-firefly
Samuel Just [Fri, 10 Jul 2015 00:24:04 +0000 (17:24 -0700)]
Merge pull request #4631 from SUSE/wip-11069-firefly

PGLog: split divergent priors as well

Reviewed-by: Samuel Just
10 years agoMerge pull request #4960 from ceph/wip-10911-firefly
David Zafman [Fri, 19 Jun 2015 22:57:46 +0000 (15:57 -0700)]
Merge pull request #4960 from ceph/wip-10911-firefly

osd,mon: explicitly specify OSD features in MOSDBoot

Reviewed-by: David Zafman <dzafman@redhat.com>
10 years ago0.80.10 v0.80.10
Jenkins [Thu, 18 Jun 2015 16:48:56 +0000 (09:48 -0700)]
0.80.10

10 years agoqa/workunits/rados/test-upgarde-v9.0.1: fix exclude syntax
Sage Weil [Wed, 17 Jun 2015 16:35:28 +0000 (09:35 -0700)]
qa/workunits/rados/test-upgarde-v9.0.1: fix exclude syntax

It's -, then a list of all exclusions separated by :.  There are just 2.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 78d894a634d727a9367f809a1f57234e5e6935be)

10 years agoqa/workunits/rados/test-upgrade-v9.0.1: skip one more evict test
Sage Weil [Wed, 17 Jun 2015 04:05:29 +0000 (21:05 -0700)]
qa/workunits/rados/test-upgrade-v9.0.1: skip one more evict test

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 3e8d60a80ce31860eac76a1f6489a35e1795a0c0)

10 years agoqa: add compatibility filtered rados api tests for upgrades
Josh Durgin [Mon, 15 Jun 2015 22:12:43 +0000 (15:12 -0700)]
qa: add compatibility filtered rados api tests for upgrades

Post-9.0.1, the evict op returns success when an object doesn't exist
in the cache tier. Skip the tests that are incompatible across
versions.

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

10 years agoosd,mon: explicitly specify OSD features in MOSDBoot 4960/head
Sage Weil [Wed, 18 Feb 2015 22:53:04 +0000 (14:53 -0800)]
osd,mon: explicitly specify OSD features in MOSDBoot

We are using the connection features to populate the features field in the
OSDMap, but this is the *intersection* of mon and osd features, not the
osd features.  Fix this by explicitly specifying the features in
MOSDBoot.

Fixes: #10911
Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit bee91548b07c6a28314dddc50fef8b6a2677e774)

Conflicts:
src/osd/OSD.cc
Minor difference in the MOSDBoot constructor

10 years agoMerge pull request #4924 from ceph/wip-11955-firefly
Sage Weil [Wed, 10 Jun 2015 22:03:48 +0000 (15:03 -0700)]
Merge pull request #4924 from ceph/wip-11955-firefly

11955: ceph.spec.in: package mkcephfs on EL6

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoceph.spec.in: package mkcephfs on EL6 4924/head
Ken Dreyer [Wed, 10 Jun 2015 21:43:41 +0000 (15:43 -0600)]
ceph.spec.in: package mkcephfs on EL6

Commit efbca0465c2946e113771966df08cf7cf37b1196 added mkcephfs to the
RPM %files listing, but this /usr/sbin path is only correct for CentOS
7. In CentOS 6, the utility is present at /sbin/mkcephfs instead. This
causes rpmbuild to fail to build the tip of the firefly branch on EL6.

Adjust the RPM %files list so we properly package mkcephfs on both EL7
and EL6.

http://tracker.ceph.com/issues/11955 Refs: #11955

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoMerge pull request #4851 from ceph/wip-10873-firefly
Orit Wasserman [Thu, 4 Jun 2015 17:07:03 +0000 (19:07 +0200)]
Merge pull request #4851 from ceph/wip-10873-firefly

rgw: generate the "Date" HTTP header for civetweb.

10 years agorgw: generate the "Date" HTTP header for civetweb. 4851/head
Radoslaw Zarzynski [Wed, 18 Feb 2015 14:48:43 +0000 (15:48 +0100)]
rgw: generate the "Date" HTTP header for civetweb.

Fixes: #10873
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit ea384f83b601f60e135c3d3f960fdb75a919dd84)

10 years agoceph.spec: add mkcephfs to ceph.rpm
Sage Weil [Wed, 3 Jun 2015 17:03:50 +0000 (13:03 -0400)]
ceph.spec: add mkcephfs to ceph.rpm

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agopackaging: package ceph-disk(8)
Ken Dreyer [Tue, 2 Dec 2014 20:58:10 +0000 (13:58 -0700)]
packaging: package ceph-disk(8)

The ceph-disk man page was added in
a450cab2b8148cb8a9b043d629feccf89e5aabac, but this was not added to the
RPM or DEB packaging. Add it here.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit b743a951114b00bbb6e14fb88f1928b504bc0f8b)

10 years agoMerge pull request #4780 from oritwas/wip-10295-firefly
Yehuda Sadeh [Tue, 2 Jun 2015 16:53:03 +0000 (19:53 +0300)]
Merge pull request #4780 from oritwas/wip-10295-firefly

rgw: civetweb should use unique request id

Reviewd-by: Yehuda Sadeh <yehuda@rehat.com>
10 years agoMerge pull request #4829 from oritwas/wip-negative_content_length-firefly
Yehuda Sadeh [Tue, 2 Jun 2015 16:02:07 +0000 (19:02 +0300)]
Merge pull request #4829 from oritwas/wip-negative_content_length-firefly

rgw: don't allow negative / invalid content length

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: don't allow negative / invalid content length 4829/head
Yehuda Sadeh [Fri, 1 Aug 2014 23:15:36 +0000 (16:15 -0700)]
rgw: don't allow negative / invalid content length

Certain frontends (e.g., civetweb) don't filter such requests.

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

10 years agoMerge pull request #4766 from SUSE/wip-11673-firefly
Sage Weil [Wed, 27 May 2015 22:36:15 +0000 (15:36 -0700)]
Merge pull request #4766 from SUSE/wip-11673-firefly

Debian: ceph-test and rest-bench debug packages should require their respective binary packages

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agorgw: civetweb should use unique request id 4780/head
Orit Wasserman [Thu, 23 Apr 2015 15:36:47 +0000 (17:36 +0200)]
rgw: civetweb should use unique request id

max_req_id was moved to RGWRados and changed to atomic64_t.

The same request id resulted in gc giving the same idtag to all objects
resulting in a leakage of rados objects. It only kept the last deleted object in
it's queue, the previous objects were never freed.

Fixes: 10295
Backport: Hammer, Firefly

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit c262259)

Conflicts:
src/rgw/rgw_main.cc
src/rgw/rgw_rados.h

10 years agodebian: set rest-bench-dbg ceph-test-dbg dependencies 4766/head
Ken Dreyer [Mon, 18 May 2015 16:50:58 +0000 (10:50 -0600)]
debian: set rest-bench-dbg ceph-test-dbg dependencies

Debian's debug packages ought to depend on their respective binary
packages. This was the case for many of our ceph packages, but it was
not the case for ceph-test-dbg or rest-bench-dbg.

Add the dependencies on the relevant binary packages, pinned to
"= ${binary:Version}" per convention.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit f898ec1e4e3472b0202280f09653a769fc62c8d3)

10 years agoMerge pull request #4697 from ceph/wip-11622-firefly
Loic Dachary [Mon, 18 May 2015 12:25:59 +0000 (14:25 +0200)]
Merge pull request #4697 from ceph/wip-11622-firefly

Wip 11622 firefly

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agorgw: merge manifests correctly when there's prefix override 4697/head
Yehuda Sadeh [Thu, 14 May 2015 00:05:22 +0000 (17:05 -0700)]
rgw: merge manifests correctly when there's prefix override

Fixes: #11622
Backport: hammer, firefly

Prefix override happens in a manifest when a rados object does not
conform to the generic prefix set on the manifest. When merging
manifests (specifically being used in multipart objects upload), we need
to check if the rule that we try to merge has a prefix that is the same
as the previous rule. Beforehand we checked if both had the same
override_prefix setting, but that might not apply as both manifests
might have different prefixes.

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

10 years agorgw: restore buffer of multipart upload after EEXIST
Yehuda Sadeh [Tue, 12 May 2015 23:40:10 +0000 (16:40 -0700)]
rgw: restore buffer of multipart upload after EEXIST

Fixes #11604
Backport: hammer, firefly

When we need to restart a write of part data, we need to revert to
buffer to before the write, otherwise we're going to skip some data.

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

10 years agoMerge pull request #4414 from xinxinsh/wip-11125-firefly
Yehuda Sadeh [Fri, 15 May 2015 17:27:42 +0000 (10:27 -0700)]
Merge pull request #4414 from xinxinsh/wip-11125-firefly

rgw: keystone token cache does not work correctly

10 years agoMerge pull request #4415 from xinxinsh/wip-11244-firefly
Loic Dachary [Fri, 15 May 2015 15:03:04 +0000 (17:03 +0200)]
Merge pull request #4415 from xinxinsh/wip-11244-firefly

cancel_pull: requeue waiters

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4416 from xinxinsh/wip-10976-firefly
Loic Dachary [Fri, 15 May 2015 15:02:27 +0000 (17:02 +0200)]
Merge pull request #4416 from xinxinsh/wip-10976-firefly

fix PG::all_unfound_are_queried_or_lost for non-existent osds

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4556 from xinxinsh/wip-11429-firefly
Loic Dachary [Fri, 15 May 2015 15:02:05 +0000 (17:02 +0200)]
Merge pull request #4556 from xinxinsh/wip-11429-firefly

OSD::load_pgs: we need to handle the case where an upgrade from earlier versions which ignored non-existent pgs resurrects a pg with a prehistoric osdmap

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4638 from SUSE/wip-11453-firefly
Sage Weil [Thu, 14 May 2015 16:50:28 +0000 (09:50 -0700)]
Merge pull request #4638 from SUSE/wip-11453-firefly

run RGW as root

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoOSD: handle the case where we resurrected an old, deleted pg 4556/head
Samuel Just [Tue, 21 Apr 2015 06:45:57 +0000 (23:45 -0700)]
OSD: handle the case where we resurrected an old, deleted pg

Prior to giant, we would skip pgs in load_pgs which were not present in
the current osdmap.  Those pgs would eventually refer to very old
osdmaps, which we no longer have causing the assertion failure in 11429
once the osd is finally upgraded to a version which does not skip the
pgs.  Instead, if we do not have the map for the pg epoch, complain to
the osd log and skip the pg.

Fixes: 11429
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit fbfd50de5b9b40d71d2e768418a8eca28b1afaca)

Conflicts:
src/osd/OSD.cc
        resolved by add a new comment line

10 years agoMerge pull request #4379 from ceph/wip-11416
Loic Dachary [Tue, 12 May 2015 11:57:36 +0000 (13:57 +0200)]
Merge pull request #4379 from ceph/wip-11416

rgw: use correct objv_tracker for bucket instance

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoinit-radosgw: run RGW as root 4638/head
Ken Dreyer [Wed, 22 Apr 2015 22:36:42 +0000 (16:36 -0600)]
init-radosgw: run RGW as root

The ceph-radosgw service fails to start if the httpd package is not
installed. This is because the init.d file attempts to start the RGW
process with the "apache" UID. If a user is running civetweb, there is
no reason for the httpd or apache2 package to be present on the system.

Switch the init scripts to use "root" as is done on Ubuntu.

http://tracker.ceph.com/issues/11453 Refs: #11453

Reported-by: Vickey Singh <vickey.singh22693@gmail.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 47339c5ac352d305e68a58f3d744c3ce0fd3a2ac)

10 years agoPGLog: split divergent priors as well 4631/head
Nathan Cutler [Sun, 10 May 2015 15:13:22 +0000 (17:13 +0200)]
PGLog: split divergent priors as well

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit bbe231a61fc06a1a668e6b831fb8224526721f93)

Conflicts:
    src/osd/PGLog.h

    The cherry-picked commit did not compile as-is, because the hobject_t
    class in firefly lacks a get_hash() method, which was added in 6de83d4.
    To get the patch to compile, I replaced i->second.get_hash() with
    i->second.hash.

10 years agoworkunits: remove defunct cephfs set_layout test
Greg Farnum [Fri, 8 May 2015 18:29:44 +0000 (11:29 -0700)]
workunits: remove defunct cephfs set_layout test

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #4571 from ceph/wip-11256-firefly
Yehuda Sadeh [Wed, 6 May 2015 20:07:11 +0000 (13:07 -0700)]
Merge pull request #4571 from ceph/wip-11256-firefly

Wip 11256 firefly

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agojava: libcephfs_jni.so is in /usr/lib64 on rhel
Noah Watkins [Sat, 28 Mar 2015 02:34:12 +0000 (19:34 -0700)]
java: libcephfs_jni.so is in /usr/lib64 on rhel

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit aed3434dc7c5161c72c7d5655faa3bc693fc9777)

10 years agoqa/workunits/fs/misc: fix filelock_interrupt.py
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.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 4ececa3dc4a21b98f61a592da9e2be60a0d71625)
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #4385 from xinxinsh/wip-11199-firefly
Loic Dachary [Wed, 29 Apr 2015 22:32:21 +0000 (00:32 +0200)]
Merge pull request #4385 from xinxinsh/wip-11199-firefly

osd: ENOENT on clone

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4384 from xinxinsh/wip-11197-firefly
Loic Dachary [Wed, 29 Apr 2015 22:31:48 +0000 (00:31 +0200)]
Merge pull request #4384 from xinxinsh/wip-11197-firefly

pg stuck stale after create with activation delay

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4382 from xinxinsh/wip-10718-firefly
Loic Dachary [Wed, 29 Apr 2015 22:31:32 +0000 (00:31 +0200)]
Merge pull request #4382 from xinxinsh/wip-10718-firefly

osd/PGLog.h: 279: FAILED assert(log.log.size() == log_keys_debug.size())

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4185 from ldachary/wip-11156-firefly
Loic Dachary [Wed, 29 Apr 2015 22:23:04 +0000 (00:23 +0200)]
Merge pull request #4185 from ldachary/wip-11156-firefly

FAILED assert(soid < scrubber.start || soid >= scrubber.end)

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4475 from ceph/wip-9538.firefly
Sage Weil [Tue, 28 Apr 2015 15:11:18 +0000 (08:11 -0700)]
Merge pull request #4475 from ceph/wip-9538.firefly

mon: OSDMonitor: fallback to json-pretty in case of invalid formatter

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: osd find / metadata --format plain fallback 4475/head
Loic Dachary [Fri, 19 Sep 2014 13:28:36 +0000 (15:28 +0200)]
mon: osd find / metadata --format plain fallback

ceph --format plain osd find 1 (and metadata) are not implemented and
must fallback to the default (json-pretty).

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 13780d755115387591888f94ea6c58ac0db3ecc4)

10 years agoMerge pull request #4453 from ceph/wip-11454
David Zafman [Mon, 27 Apr 2015 17:30:49 +0000 (10:30 -0700)]
Merge pull request #4453 from ceph/wip-11454

PG::actingset should be used when checking the number of acting OSDs for...

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4245 from ceph/wip-11113-firefly
Loic Dachary [Mon, 27 Apr 2015 08:14:00 +0000 (10:14 +0200)]
Merge pull request #4245 from ceph/wip-11113-firefly

librbd: snap_remove should ignore -ENOENT errors

Reviewed-by: Shu, Xinxin <xinxin.shu@intel.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4206 from ceph/wip-5488-firefly
Loic Dachary [Mon, 27 Apr 2015 08:12:40 +0000 (10:12 +0200)]
Merge pull request #4206 from ceph/wip-5488-firefly

librbd: acquire cache_lock before refreshing parent

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3963 from dachary/wip-10153-firefly
Loic Dachary [Mon, 27 Apr 2015 08:09:23 +0000 (10:09 +0200)]
Merge pull request #3963 from dachary/wip-10153-firefly

Rados.shutdown() dies with Illegal instruction (core dumped)

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4383 from xinxinsh/wip-11144-firefly
Loic Dachary [Mon, 27 Apr 2015 08:08:15 +0000 (10:08 +0200)]
Merge pull request #4383 from xinxinsh/wip-11144-firefly

erasure-code-profile set races with erasure-code-profile rm

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoosd: fix PG::all_unfound_are_queried_or_lost for non-existent osds 4416/head
Mykola Golub [Tue, 3 Mar 2015 06:45:58 +0000 (08:45 +0200)]
osd: fix PG::all_unfound_are_queried_or_lost for non-existent osds

A common mistake upon osd loss is to remove the osd from the crush map
before marking the osd lost. This tends to make it so that the user
can no longer mark the osd lost to satisfy all_unfound_are_queried_or_lost.

The simple solution is for all_unfound_are_queried_or_lost to ignore
the osd if it does not exist.

Fixes: #10976
Backports: firefly,giant

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 5bb51320138ff714806d24312149f6275d546608)

10 years agoPG::actingset should be used when checking the number of acting OSDs for a given PG. 4453/head
Guang Yang [Mon, 29 Sep 2014 08:21:10 +0000 (08:21 +0000)]
PG::actingset should be used when checking the number of acting OSDs for a given PG.
Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
(cherry picked from commit 19be358322be48fafa17b28054619a8b5e7d403b)

Conflicts:
src/osd/PG.cc PG::get_backfill_priority() doesn't exist in firefly
Variation in code related to no "undersized" state in firefly

Fixes: #11454
10 years agoReplicatedPG::cancel_pull: requeue waiters as well 4415/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>
(cherry picked from commit 0b2e272430dd7433e6763be99b8a4cb127d9be19)

10 years agorgw: update keystone cache with token info 4414/head
Yehuda Sadeh [Tue, 3 Mar 2015 19:03:35 +0000 (11:03 -0800)]
rgw: update keystone cache with token info

Fixes: #11125
Backport: hammer, firefly

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

10 years agorgw: use correct objv_tracker for bucket instance 4379/head
Yehuda Sadeh [Thu, 18 Dec 2014 01:12:43 +0000 (17:12 -0800)]
rgw: use correct objv_tracker for bucket instance

When trying to create a bucket that already existed, use the
objv_tracker of the newly created instance, and not of the original
bucket.

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

10 years agoosd: erasure-code-profile incremental rm before set 4296/head 4383/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>
(cherry picked from commit 0d52aca0d0c302983d03b0f5213ffed187e4ed63)

Conflicts:
src/osd/OSDMap.cc
        resolved by replacing i++ with ++i

10 years agoReplicatedPG: trim backfill intervals based on peer's last_backfill_started 4298/head 4385/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>
(cherry picked from commit 1388d6bd949a18e8ac0aecb0eb79ffb93d316879)

10 years agoPG: set/clear CREATING in Primary state entry/exit 4297/head 4384/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>
(cherry picked from commit ddf0292250dfb1040d3cad96fa2cf886fd65933c)

10 years agoMerge pull request #4275 from jeanchlopez/wip-11160-firefly
Yehuda Sadeh [Mon, 6 Apr 2015 17:24:06 +0000 (10:24 -0700)]
Merge pull request #4275 from jeanchlopez/wip-11160-firefly

rgw: shouldn't need to disable rgw_socket_path if frontend is configured

10 years agorgw: don't use rgw_socket_path if frontend is configured 4275/head
Yehuda Sadeh [Thu, 19 Mar 2015 03:49:13 +0000 (20:49 -0700)]
rgw: don't use rgw_socket_path if frontend is configured

Fixes: #11160
Backport: hammer, firefly

Previously if we wanted to use the tcp fcgi socket, we needed to clear
rgw_socket_path.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4247 from ceph/wip-11303
Josh Durgin [Wed, 1 Apr 2015 23:30:23 +0000 (16:30 -0700)]
Merge pull request #4247 from ceph/wip-11303

Fix do_autogen.sh so that -L is allowed

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoFix do_autogen.sh so that -L is allowed 4247/head
Alfredo Deza [Wed, 1 Apr 2015 23:10:33 +0000 (19:10 -0400)]
Fix do_autogen.sh so that -L is allowed

Signed-off-by: Alfredo Deza <adeza@redhat.com>
10 years agolibrbd: snap_remove should ignore -ENOENT errors 4245/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 agoPGLog: improve PGLog::check() debugging 4243/head 4382/head
Samuel Just [Mon, 2 Feb 2015 17:07:27 +0000 (09:07 -0800)]
PGLog: improve PGLog::check() debugging

Related: 10718
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit c656bcec2441c90b084ca50a17c37625d69942a1)

10 years agoPGLog::merge_log: in tail extend case, log.log might be empty
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>
(cherry picked from commit f5a2aef3db29b99634250fd388a0c2d9b9a23d38)

10 years agocls_rgw: use multimap to keep pending operations in bucket index 4571/head
Yehuda Sadeh [Tue, 31 Mar 2015 00:34:57 +0000 (17:34 -0700)]
cls_rgw: use multimap to keep pending operations in bucket index

Fixes: #11256
Multiple concurrent requests might be sent using the same tag, need the
entry map to be able to hold multiple entries.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: generate new tag for object when setting object attrs
Yehuda Sadeh [Fri, 27 Mar 2015 23:32:48 +0000 (16:32 -0700)]
rgw: generate new tag for object when setting object attrs

Fixes: #11256
Backport: firefly, hammer

Beforehand we were reusing the object's tag, which is problematic as
this tag is used for bucket index updates, and we might be clobbering a
racing update (like object removal).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agolibrbd: acquire cache_lock before refreshing parent 4206/head
Jason Dillaman [Mon, 16 Mar 2015 15:04:22 +0000 (11:04 -0400)]
librbd: acquire cache_lock before refreshing parent

cache_lock needs to be acquired before snap_lock to avoid
the potential for deadlock.

Fixes: #5488
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoReplicatedPG::promote_object: check scrubber and block if necessary 4185/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>
(cherry picked from commit 65bb4df599541cd2e0f195b905f24f529e255c00)

10 years agoMerge pull request #4126 from dzafman/wip-11176-firefly
Loic Dachary [Mon, 23 Mar 2015 19:38:43 +0000 (20:38 +0100)]
Merge pull request #4126 from dzafman/wip-11176-firefly

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

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4079 from dachary/wip-11157-firefly
Loic Dachary [Sat, 21 Mar 2015 10:38:28 +0000 (11:38 +0100)]
Merge pull request #4079 from dachary/wip-11157-firefly

doc,tests: force checkout of submodules

Reviewed-by: David Zafman <dzafman@redhat.com>
10 years agoMerge pull request #4129 from dzafman/wip-11139-firefly
Yuri Weinstein [Sat, 21 Mar 2015 04:06:17 +0000 (21:06 -0700)]
Merge pull request #4129 from dzafman/wip-11139-firefly

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

10 years agoceph-objectstore-tool: Use exit status 11 for incompatible import attempt 4129/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>
(cherry picked from commit 175aff8afe8215547ab57f8d8017ce8fdc0ff543)

10 years agoceph-objectstore-tool: Output only unsupported features when incomatible 4126/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>
(cherry picked from commit 5b23f5b5892b36fb7d06efc0d77e64a24ef6e8c9)

10 years agoMerge pull request #3970 from ceph/firefly-11053
Loic Dachary [Fri, 20 Mar 2015 07:44:39 +0000 (08:44 +0100)]
Merge pull request #3970 from ceph/firefly-11053

mds: fix assertion caused by system clock backwards

Reviewed-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #4021 from ceph/wip-7737-firefly
Loic Dachary [Fri, 20 Mar 2015 07:42:58 +0000 (08:42 +0100)]
Merge pull request #4021 from ceph/wip-7737-firefly

osd: fix negative degraded objects during backfilling

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3952 from dachary/wip-9986-firefly
Loic Dachary [Fri, 20 Mar 2015 07:38:26 +0000 (08:38 +0100)]
Merge pull request #3952 from dachary/wip-9986-firefly

objecter: fix map skipping

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 agodoc,tests: force checkout of submodules 4079/head
Loic Dachary [Wed, 18 Mar 2015 23:32:39 +0000 (00:32 +0100)]
doc,tests: force checkout of submodules

When updating submodules, always checkout even if the HEAD is the
desired commit hash (update --force) to avoid the following:

    * a directory gmock exists in hammer
    * a submodule gmock replaces the directory gmock in master
    * checkout master + submodule update : gmock/.git is created
    * checkout hammer : the gmock directory still contains the .git from
      master because it did not exist at the time and checkout won't
      remove untracked directories
    * checkout master + submodule update : git rev-parse HEAD is
      at the desired commit although the content of the gmock directory
      is from hammer

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoosd: fix negative degraded objects during backfilling 4021/head
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)

Conflicts:
src/osd/PG.cc

10 years agoMerge pull request #3966 from theanalyst/wip-10698-backport
Loic Dachary [Mon, 16 Mar 2015 22:20:36 +0000 (23:20 +0100)]
Merge pull request #3966 from theanalyst/wip-10698-backport

rgw: fail s3 POST auth if keystone not configured

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3934 from dachary/wip-10665-firefly
Loic Dachary [Mon, 16 Mar 2015 22:19:22 +0000 (23:19 +0100)]
Merge pull request #3934 from dachary/wip-10665-firefly

rgw: Swift API. Dump container's custom metadata.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3929 from dachary/wip-10475-firefly
Loic Dachary [Mon, 16 Mar 2015 22:18:59 +0000 (23:18 +0100)]
Merge pull request #3929 from dachary/wip-10475-firefly

rgw: Swift API. Support for X-Remove-Container-Meta-{key} header.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3938 from dachary/wip-10770-firefly
Loic Dachary [Mon, 16 Mar 2015 22:18:24 +0000 (23:18 +0100)]
Merge pull request #3938 from dachary/wip-10770-firefly

rgw: send appropriate op to cancel bucket index pending operation

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3961 from dachary/wip-10106-firefly
Loic Dachary [Mon, 16 Mar 2015 22:17:56 +0000 (23:17 +0100)]
Merge pull request #3961 from dachary/wip-10106-firefly

rgw: flush xml header on get acl request

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3958 from dachary/wip-10062-firefly
Loic Dachary [Mon, 16 Mar 2015 22:16:53 +0000 (23:16 +0100)]
Merge pull request #3958 from dachary/wip-10062-firefly

rgw: check for timestamp for s3 keystone auth

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@ril.com>
Reviewed-by: Valery Tschopp <valery.tschopp@switch.ch>
10 years agoMerge pull request #3942 from dachary/wip-10844-firefly
Loic Dachary [Mon, 16 Mar 2015 16:00:27 +0000 (17:00 +0100)]
Merge pull request #3942 from dachary/wip-10844-firefly

mon: MonCap: take EntityName instead when expanding profiles

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
10 years agoMerge pull request #3936 from dachary/wip-10724-firefly
Loic Dachary [Mon, 16 Mar 2015 15:53:48 +0000 (16:53 +0100)]
Merge pull request #3936 from dachary/wip-10724-firefly

 backport ceph-disk man page to Firefly

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3940 from dachary/wip-8753-firefly
Loic Dachary [Mon, 16 Mar 2015 15:50:39 +0000 (16:50 +0100)]
Merge pull request #3940 from dachary/wip-8753-firefly

ReplicatedPG::on_change: clean up callbacks_for_degraded_object

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3827 from dachary/wip-10259-firefly
Loic Dachary [Mon, 16 Mar 2015 15:49:56 +0000 (16:49 +0100)]
Merge pull request #3827 from dachary/wip-10259-firefly

osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::o...

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3962 from dachary/wip-10150-firefly
Loic Dachary [Mon, 16 Mar 2015 15:48:02 +0000 (16:48 +0100)]
Merge pull request #3962 from dachary/wip-10150-firefly

ReplicatedPG::scan_range: an object can disappear between the list and t...

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3948 from dachary/wip-9891-firefly
Loic Dachary [Mon, 16 Mar 2015 15:45:32 +0000 (16:45 +0100)]
Merge pull request #3948 from dachary/wip-9891-firefly

DBObjectMap: lock header_lock on sync()

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3949 from dachary/wip-9915-firefly
Loic Dachary [Mon, 16 Mar 2015 15:43:48 +0000 (16:43 +0100)]
Merge pull request #3949 from dachary/wip-9915-firefly

osd: cache tiering: fix the atime logic of the eviction

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3944 from dachary/wip-9193-firefly
Loic Dachary [Mon, 16 Mar 2015 15:40:12 +0000 (16:40 +0100)]
Merge pull request #3944 from dachary/wip-9193-firefly

messages/MWatchNotify: include an error code in the message

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3943 from dachary/wip-8011-firefly
Loic Dachary [Mon, 16 Mar 2015 15:39:41 +0000 (16:39 +0100)]
Merge pull request #3943 from dachary/wip-8011-firefly

ReplicatedPG: fail a non-blocking flush if the object is being scrubbed

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3941 from dachary/wip-10817-firefly
Loic Dachary [Mon, 16 Mar 2015 15:39:16 +0000 (16:39 +0100)]
Merge pull request #3941 from dachary/wip-10817-firefly

WorkQueue: make wait timeout on empty queue configurable

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3937 from dachary/wip-10762-firefly
Loic Dachary [Mon, 16 Mar 2015 15:38:42 +0000 (16:38 +0100)]
Merge pull request #3937 from dachary/wip-10762-firefly

mon: ignore osd failures from before up_from

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3933 from dachary/wip-10617-firefly
Loic Dachary [Mon, 16 Mar 2015 15:38:22 +0000 (16:38 +0100)]
Merge pull request #3933 from dachary/wip-10617-firefly

osd: do not ignore deleted pgs on startup

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3932 from dachary/wip-10546-firefly
Loic Dachary [Mon, 16 Mar 2015 15:38:01 +0000 (16:38 +0100)]
Merge pull request #3932 from dachary/wip-10546-firefly

mon: Monitor: fix timecheck rounds period

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3931 from dachary/wip-10512-firefly
Loic Dachary [Mon, 16 Mar 2015 15:37:36 +0000 (16:37 +0100)]
Merge pull request #3931 from dachary/wip-10512-firefly

osd: requeue blocked op before flush it was blocked on

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3930 from dachary/wip-10497-firefly
Loic Dachary [Mon, 16 Mar 2015 15:37:05 +0000 (16:37 +0100)]
Merge pull request #3930 from dachary/wip-10497-firefly

librados: Translate operation flags from C APIs

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3955 from dachary/wip-10059-firefly
Loic Dachary [Mon, 16 Mar 2015 15:31:40 +0000 (16:31 +0100)]
Merge pull request #3955 from dachary/wip-10059-firefly

PG: always clear_primary_state

Reviewed-by: Samuel Just <sjust@redhat.com>