]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agorgw: run radosgw as apache with systemd 3086/head
Loic Dachary [Tue, 2 Dec 2014 17:10:48 +0000 (18:10 +0100)]
rgw: run radosgw as apache with systemd

Same as sysv.

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

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

Conflicts:
src/init-radosgw.sysv

10 years agoMerge pull request #3078 from ceph/wip-10030-firefly
Josh Durgin [Thu, 4 Dec 2014 19:32:18 +0000 (11:32 -0800)]
Merge pull request #3078 from ceph/wip-10030-firefly

librbd: don't close an already closed parent image upon failure

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3063 from ceph/wip-10123-firefly
Sage Weil [Thu, 4 Dec 2014 07:01:44 +0000 (23:01 -0800)]
Merge pull request #3063 from ceph/wip-10123-firefly

librbd: protect list_children from invalid child pool IoCtxs

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoReplicatedPG: don't move on to the next snap immediately
Samuel Just [Tue, 23 Sep 2014 22:52:08 +0000 (15:52 -0700)]
ReplicatedPG: don't move on to the next snap immediately

If we have a bunch of trimmed snaps for which we have no
objects, we'll spin for a long time.  Instead, requeue.

Fixes: #9487
Backport: dumpling, firefly, giant
Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit c17ac03a50da523f250eb6394c89cc7e93cb4659)

10 years agoosd: initialize purged_snap on backfill start; restart backfill if change
Sage Weil [Tue, 23 Sep 2014 23:21:33 +0000 (16:21 -0700)]
osd: initialize purged_snap on backfill start; restart backfill if change

If we backfill a PG to a new OSD, we currently neglect to initialize
purged_snaps.  As a result, the first time the snaptrimmer runs it has to
churn through every deleted snap for all time, and to make matters worse
does so in one go with the PG lock held.  This leads to badness on any
cluster with a significant number of removed snaps that experiences
backfill.

Resolve this by initializing purged_snaps when we finish backfill.  The
backfill itself will clear out any stray snaps and ensure the object set
is in sync with purged_snaps.  Note that purged_snaps on the primary
that is driving backfill will not change during this period as the
snaptrimmer is not scheduled unless the PG is clean (which it won't be
during backfill).

If we by chance to interrupt backfill, go clean with other OSDs,
purge snaps, and then let this OSD rejoin, we will either restart
backfill (non-contiguous log) or the log will include the result of
the snap trim (the events that remove the trimmed snap).

Fixes: #9487
Backfill: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 255b430a87201c7d0cf8f10a3c1e62cbe8dd2d93)

10 years agolibrbd: don't close an already closed parent image upon failure 3078/head
Jason Dillaman [Thu, 6 Nov 2014 10:01:38 +0000 (05:01 -0500)]
librbd: don't close an already closed parent image upon failure

If librbd is not able to open a child's parent image, it will
incorrectly close the parent image twice, resulting in a crash.

Fixes: #10030
Backport: firefly, giant
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 61ebfebd59b61ffdc203dfeca01ee1a02315133e)

10 years agolibrbd: protect list_children from invalid child pool IoCtxs 3063/head
Jason Dillaman [Tue, 18 Nov 2014 02:49:26 +0000 (21:49 -0500)]
librbd: protect list_children from invalid child pool IoCtxs

While listing child images, don't ignore error codes returned
from librados when creating an IoCtx. This will prevent seg
faults from occurring when an invalid IoCtx is used.

Fixes: #10123
Backport: giant, firefly, dumpling
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0d350b6817d7905908a4e432cd359ca1d36bab50)

10 years agoMerge pull request #3014 from dachary/wip-9665-ceph-disk-partprobe-firefly
Sage Weil [Sun, 30 Nov 2014 18:12:04 +0000 (10:12 -0800)]
Merge pull request #3014 from dachary/wip-9665-ceph-disk-partprobe-firefly

ceph disk zap must call partprobe

10 years agoceph-disk: use update_partition in prepare_dev and main_prepare 3014/head
Loic Dachary [Fri, 10 Oct 2014 08:26:31 +0000 (10:26 +0200)]
ceph-disk: use update_partition in prepare_dev and main_prepare

In the case of prepare_dev the partx alternative was missing and is not
added because update_partition does it.

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

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

Conflicts:
src/ceph-disk

10 years agoceph-disk: run partprobe after zap
Loic Dachary [Thu, 9 Oct 2014 16:52:17 +0000 (18:52 +0200)]
ceph-disk: run partprobe after zap

Not running partprobe after zapping a device can lead to the following:

* ceph-disk prepare /dev/loop2
* links are created in /dev/disk/by-partuuid
* ceph-disk zap /dev/loop2
* links are not removed from /dev/disk/by-partuuid
* ceph-disk prepare /dev/loop2
* some links are not created in /dev/disk/by-partuuid

This is assuming there is a bug in the way udev events are handled by
the operating system.

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

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

10 years agoceph-disk: encapsulate partprobe / partx calls
Loic Dachary [Fri, 10 Oct 2014 08:23:34 +0000 (10:23 +0200)]
ceph-disk: encapsulate partprobe / partx calls

Add the update_partition function to reduce code duplication.
The action is made an argument although it always is -a because it will
be -d when deleting a partition.

Use the update_partition function in prepare_journal_dev

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

Conflicts:
src/ceph-disk

10 years agoMerge pull request #2961 from ceph/wip-10114-firefly
Loic Dachary [Wed, 19 Nov 2014 01:45:26 +0000 (02:45 +0100)]
Merge pull request #2961 from ceph/wip-10114-firefly

Add annotation to all assembly files to turn off stack-execute bit

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoAdd annotation to all assembly files to turn off stack-execute bit 2961/head
Dan Mick [Sat, 15 Nov 2014 01:59:57 +0000 (17:59 -0800)]
Add annotation to all assembly files to turn off stack-execute bit

See discussion in http://tracker.ceph.com/issues/10114

Building with these changes allows output from readelf like this:

 $ readelf -lW src/.libs/librados.so.2 | grep GNU_STACK
  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000
0x000000 RW  0x8

(note the absence of 'X' in 'RW')

Fixes: #10114
Signed-off-by: Dan Mick <dan.mick@redhat.com>
(cherry picked from commit 06a245a9845c0c126fb3106b41b2fd2bc4bc4df3)
(not-yet-present-in-firefly files in isa-l manually removed)

10 years agoMerge pull request #2760 from ceph/wip-9835-firefly
Samuel Just [Thu, 13 Nov 2014 18:36:12 +0000 (10:36 -0800)]
Merge pull request #2760 from ceph/wip-9835-firefly

osd: fix erasure hung op bug (9835)

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoosd: use OSDMap helper to tell if ops are misdirected 2760/head
Samuel Just [Wed, 5 Nov 2014 20:12:14 +0000 (12:12 -0800)]
osd: use OSDMap helper to tell if ops are misdirected

calc_pg_role doesn't actually take into account primary affinity.

Fixes: #9835
Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoosd: discard rank > 0 ops on erasure pools
Sage Weil [Mon, 20 Oct 2014 20:55:33 +0000 (13:55 -0700)]
osd: discard rank > 0 ops on erasure pools

Erasure pools do not support read from replica, so we should drop
any rank > 0 requests.

This fixes a bug where an erasure pool maps to [1,2,3], temporarily maps
to [-1,2,3], sends a request to osd.2, and then remaps back to [1,2,3].
Because the 0 shard never appears on osd.2, the request sits in the
waiting_for_pg map indefinitely and cases slow request warnings.
This problem does not come up on replicated pools because all instances of
the PG are created equal.

Fix by only considering role == 0 for erasure pools as a correct mapping.

Fixes: #9835
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/OSDMap: add osd_is_valid_op_target()
Sage Weil [Thu, 13 Nov 2014 01:04:35 +0000 (17:04 -0800)]
osd/OSDMap: add osd_is_valid_op_target()

Helper to check whether an osd is a given op target for a pg.  This
assumes that for EC we always send ops to the primary, while for
replicated we may target any replica.

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

10 years agoqa: allow small allocation diffs for exported rbds
Josh Durgin [Wed, 12 Nov 2014 02:16:02 +0000 (18:16 -0800)]
qa: allow small allocation diffs for exported rbds

The local filesytem may behave slightly differently. This isn't
foolproof, but seems to be reliable enough on rhel7 rootfs, where
exact comparison was failing.

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

10 years agoosd: fix map advance limit to handle map gaps
Sage Weil [Sun, 25 May 2014 15:38:38 +0000 (08:38 -0700)]
osd: fix map advance limit to handle map gaps

The recent change in cf25bdf6b0090379903981fe8cee5ea75efd7ba0 would stop
advancing after some number of epochs, but did not take into consideration
the possibilty that there are missing maps.  In that case, it is impossible
to advance past the gap.

Fix this by increasing the max epoch as we go so that we can always get
beyond the gap.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 1e0a82fd55dede473c0af32924f4bcb5bb697a2b)

10 years agoMerge pull request #2880 from ceph/wip-10025-firefly
Gregory Farnum [Fri, 7 Nov 2014 22:10:18 +0000 (14:10 -0800)]
Merge pull request #2880 from ceph/wip-10025-firefly

#10025/firefly -- tools: fix MDS journal import

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agotools: fix MDS journal import 2880/head
John Spray [Fri, 7 Nov 2014 11:34:43 +0000 (11:34 +0000)]
tools: fix MDS journal import

Previously it only worked on fresh filesystems which
hadn't been trimmed yet, and resulted in an invalid
trimmed_pos when expire_pos wasn't on an object
boundary.

Fixes: #10025
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit fb29e71f9a97c12354045ad2e128156e503be696)

10 years agoMerge remote-tracking branch 'origin/wip-sam-firefly-backports' into firefly
Samuel Just [Thu, 6 Nov 2014 18:37:42 +0000 (10:37 -0800)]
Merge remote-tracking branch 'origin/wip-sam-firefly-backports' into firefly

10 years agoMerge pull request #2737 from ceph/wip-9629-firefly
Samuel Just [Thu, 6 Nov 2014 18:30:20 +0000 (10:30 -0800)]
Merge pull request #2737 from ceph/wip-9629-firefly

osd: do not clone/preserve snapdir on cache-evict (firefly backport)

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2657 from ceph/wip-9053-9301-firefly
Samuel Just [Thu, 6 Nov 2014 18:26:21 +0000 (10:26 -0800)]
Merge pull request #2657 from ceph/wip-9053-9301-firefly

mon: backport two paxos fixes to firefly

Reviewed-by: Joao Luis <joao@redhat.com>
10 years agoMerge pull request #2656 from ceph/wip-9502-firefly
Samuel Just [Thu, 6 Nov 2014 18:21:12 +0000 (10:21 -0800)]
Merge pull request #2656 from ceph/wip-9502-firefly

mon: backport mon disk full check to firefly

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2764 from ceph/wip-9851
Samuel Just [Thu, 6 Nov 2014 18:18:27 +0000 (10:18 -0800)]
Merge pull request #2764 from ceph/wip-9851

osd: bring FileJournal in sync with giant

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2776 from ceph/wip-9675.firefly
Samuel Just [Thu, 6 Nov 2014 18:12:17 +0000 (10:12 -0800)]
Merge pull request #2776 from ceph/wip-9675.firefly

CrushWrapper: pick a ruleset same as rule_id

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoceph-disk: mount xfs with inode64 by default
Sage Weil [Mon, 15 Sep 2014 22:29:08 +0000 (15:29 -0700)]
ceph-disk: mount xfs with inode64 by default

We did this forever ago with mkcephfs, but ceph-disk didn't.  Note that for
modern XFS this option is obsolete, but for older kernels it was not the
default.

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 11496399ef318498c11e551f139d96db52d3309c)

10 years agorgw: set length for keystone token validation request
Yehuda Sadeh [Thu, 9 Oct 2014 17:20:27 +0000 (10:20 -0700)]
rgw: set length for keystone token validation request

Fixes: #7796
Backport: giany, firefly
Need to set content length to this request, as the server might not
handle a chunked request (even though we don't send anything).

Tested-by: Mark Kirkwood <mark.kirkwood@catalyst.net.nz>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 3dd4ccad7fe97fc16a3ee4130549b48600bc485c)

10 years agorgw: subuser creation fixes
Yehuda Sadeh [Tue, 19 Aug 2014 20:15:46 +0000 (13:15 -0700)]
rgw: subuser creation fixes

Fixes: #8587
There were a couple of issues, one when trying to identify whether swift
user exists, we weren't using the correct swift id. The second problem
is that we relied on the gen_access flag in the swift case, where it
doesn't really need to apply.

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

10 years agoMerge pull request #2847 from dachary/wip-9752-past-intervals-firefly
Sage Weil [Fri, 31 Oct 2014 15:35:50 +0000 (08:35 -0700)]
Merge pull request #2847 from dachary/wip-9752-past-intervals-firefly

osd: past_interval display bug on acting

10 years agoosd: past_interval display bug on acting 2847/head
Loic Dachary [Thu, 30 Oct 2014 23:49:21 +0000 (00:49 +0100)]
osd: past_interval display bug on acting

The acting array was incorrectly including the primary and up_primary.

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

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

10 years agoMerge pull request #2840 from ceph/firefly-9869
Yan, Zheng [Fri, 31 Oct 2014 00:01:24 +0000 (17:01 -0700)]
Merge pull request #2840 from ceph/firefly-9869

Backport "client: cast m->get_client_tid() to compare to 16-bit Inode::flushing_cap_tid"

10 years agoclient: cast m->get_client_tid() to compare to 16-bit Inode::flushing_cap_tid 2840/head
Greg Farnum [Thu, 23 Oct 2014 00:16:31 +0000 (17:16 -0700)]
client: cast m->get_client_tid() to compare to 16-bit Inode::flushing_cap_tid

m->get_client_tid() is 64 bits (as it should be), but Inode::flushing_cap_tid
is only 16 bits. 16 bits should be plenty to let the cap flush updates
pipeline appropriately, but we need to cast in the proper direction when
comparing these differently-sized versions. So downcast the 64-bit one
to 16 bits.

Fixes: #9869
Backport: giant, firefly, dumpling

Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit a5184cf46a6e867287e24aeb731634828467cd98)

10 years agoReplicatedPG: cancel cb on blacklisted watcher
Samuel Just [Thu, 11 Sep 2014 20:46:51 +0000 (13:46 -0700)]
ReplicatedPG: cancel cb on blacklisted watcher

Fixes: #8315
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 16bd45777166c29c433af3b59254a7169e512d98)

10 years agoReplicatedPG::on_removal: clear rollback info
Samuel Just [Sun, 21 Sep 2014 17:19:43 +0000 (10:19 -0700)]
ReplicatedPG::on_removal: clear rollback info

Fixes: #9293
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 544b8c7ffb4af01765b87239f2d7ab88479ee779)

10 years agoMerge remote-tracking branch 'origin/wip-9574' into wip-sam-firefly-backports
Samuel Just [Thu, 30 Oct 2014 20:48:18 +0000 (13:48 -0700)]
Merge remote-tracking branch 'origin/wip-9574' into wip-sam-firefly-backports

10 years agoPG: release backfill reservations if a backfill peer rejects
Samuel Just [Mon, 29 Sep 2014 22:01:25 +0000 (15:01 -0700)]
PG: release backfill reservations if a backfill peer rejects

Also, the full peer will wait until the rejection from the primary
to do a state transition.

Fixes: #9626
Backport: giant, firefly, dumpling
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 624aaf2a4ea9950153a89ff921e2adce683a6f51)

10 years agoMerge remote-tracking branch 'origin/wip-9113' into wip-sam-firefly-backports
Samuel Just [Thu, 30 Oct 2014 20:47:22 +0000 (13:47 -0700)]
Merge remote-tracking branch 'origin/wip-9113' into wip-sam-firefly-backports

10 years agoosd/osd_types: consider CRUSH_ITEM_NONE in check_new_interval() min_size check
Sage Weil [Sun, 12 Oct 2014 17:05:51 +0000 (10:05 -0700)]
osd/osd_types: consider CRUSH_ITEM_NONE in check_new_interval() min_size check

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

Conflicts:
src/osd/osd_types.cc

10 years agoPG:: reset_interval_flush and in set_last_peering_reset
Samuel Just [Mon, 20 Oct 2014 21:10:58 +0000 (14:10 -0700)]
PG:: reset_interval_flush and in set_last_peering_reset

If we have a change in the prior set, but not in the up/acting set, we go back
through Reset in order to reset peering state.  Previously, we would reset
last_peering_reset in the Reset constructor.  This did not, however, reset the
flush_interval, which caused the eventual flush event to be ignored and the
peering messages to not be sent.

Instead, we will always reset_interval_flush if we are actually changing the
last_peering_reset value.

Fixes: #9821
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit d9ff3a6b789c5b9c77aefa3751bd808f5d7b8ca7)

10 years agoReplicatedPG: writeout hit_set object with correct prior_version
Samuel Just [Thu, 23 Oct 2014 16:11:28 +0000 (09:11 -0700)]
ReplicatedPG: writeout hit_set object with correct prior_version

Fixes: #9875
Backport: giant, firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 1a3ad307f1a4c0a956d6fd31d13f01ffe411a09d)

10 years agoMerge pull request #2717 from dachary/wip-9747-ceph-spec-firefly
Sage Weil [Mon, 27 Oct 2014 03:37:52 +0000 (20:37 -0700)]
Merge pull request #2717 from dachary/wip-9747-ceph-spec-firefly

rpm: 95-ceph-osd-alt.rules is not needed for centos7 / rhel7 (firefly)

10 years agoCrushWrapper: pick a ruleset same as rule_id 2776/head
Xiaoxi Chen [Wed, 20 Aug 2014 07:35:44 +0000 (15:35 +0800)]
CrushWrapper: pick a ruleset same as rule_id

Originally in the add_simple_ruleset funtion, the ruleset_id
is not reused but rule_id is reused. So after some add/remove
against rules, the newly created rule likely to have
ruleset!=rule_id.

We dont want this happen because we are trying to hold the constraint
that ruleset == rule_id.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
(cherry picked from commit 78e84f34da83abf5a62ae97bb84ab70774b164a6)

Conflicts:
src/test/erasure-code/TestErasureCodeIsa.cc

Fixes: #9675
10 years agoos/FileJournal: When dump journal, using correctly seq avoid misjudging joural corrupt. 2764/head
Ma Jianpeng [Mon, 21 Jul 2014 07:08:55 +0000 (15:08 +0800)]
os/FileJournal: When dump journal, using correctly seq avoid misjudging joural corrupt.

In func FileJournal::dump, it always using seq=0 as last-seq and it can
misjudge the journal corrupt.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
(cherry picked from commit 5f65b4db6d1dad7c2c5a09eab42af63a82ea9e9b)

10 years agoos: io_event.res is the size written
Loic Dachary [Thu, 25 Sep 2014 23:15:53 +0000 (01:15 +0200)]
os: io_event.res is the size written

And not an error code to be converted with cpp_strerror()

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

10 years agoos/FileJournal: For journal-aio-mode, don't use aio when closing journal.
Ma Jianpeng [Thu, 21 Aug 2014 07:10:46 +0000 (15:10 +0800)]
os/FileJournal: For journal-aio-mode, don't use aio when closing journal.

For jouranl-aio-mode when closing journal, the write_finish_thread_entry may exit before
write_thread_entry. This cause no one wait last aios to complete.
On some platform, after that the journal-header on journal corrupted.
To avoid this, when closing jouranl we don't use aio.

Fixes: 9073
Reported-by: Mark Kirkwood <mark.kirkwood@catalyst.net.nz>
Tested-by: Mark Kirkwood <mark.kirkwood@catalyst.net.nz>
Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
(cherry picked from commit e870fd09ce846e5642db268c33bbe8e2e17ffef2)

10 years agoos/FileJournal: Only using aio then alloc the related resources.
Ma Jianpeng [Thu, 21 Aug 2014 13:07:51 +0000 (21:07 +0800)]
os/FileJournal: Only using aio then alloc the related resources.

If define HAVE_LIBAIO, it alloc related resouces. But itt don't check whether
using aio mode. Only using aio it alloc the related resources.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
(cherry picked from commit a66a4931d5be9ee26c0983b3154fdbe37261a51c)

10 years agoos/FileJournal: Tune the judge logic for read_header.
Ma Jianpeng [Thu, 21 Aug 2014 07:49:44 +0000 (15:49 +0800)]
os/FileJournal: Tune the judge logic for read_header.

When reading journal-header, it should firstly check the result of
pread and then do decoce operation.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
(cherry picked from commit c8e2b89cf6bc36a0ff29887b9e76cbbeceef9f8f)

10 years agoos/FileJournal: signal aio_cond even if seq is 0
Sage Weil [Wed, 20 Aug 2014 03:50:13 +0000 (20:50 -0700)]
os/FileJournal: signal aio_cond even if seq is 0

This can happen if we write a journal but no events.

Reported-by: Somnath Roy <somnath.roy@sandisk.com>
Reported-by: Ma, Jianpeng <jianpeng.ma@intel.com>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 57778e2c577c1e1bbf9525232720a2994fa36abc)

10 years agoos/FileJournal: Update the journal header when closing journal
Ma Jianpeng [Wed, 23 Jul 2014 17:10:38 +0000 (10:10 -0700)]
os/FileJournal: Update the journal header when closing journal

When closing journal, it should check must_write_header and update
journal header if must_write_header alreay set.
It can reduce the nosense journal-replay after restarting osd.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
Reviewed-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 5bf472aefb7360a1fe17601b42e551df120badfb)

10 years agoRevert "os/FileJournal: stop aio completion thread *after* writer thread"
Sage Weil [Tue, 21 Oct 2014 13:53:36 +0000 (06:53 -0700)]
Revert "os/FileJournal: stop aio completion thread *after* writer thread"

This reverts commit 334631ae4641824b3df49245f36a8fd4b143bf3f.

10 years agoMerge pull request #2716 from ceph/wip-firefly-9419
Samuel Just [Fri, 17 Oct 2014 17:47:22 +0000 (10:47 -0700)]
Merge pull request #2716 from ceph/wip-firefly-9419

Backport fix for bug #9419

10 years agoMerge pull request #2724 from dachary/wip-9073-journal-aio-mode-firefly
Samuel Just [Fri, 17 Oct 2014 17:44:30 +0000 (10:44 -0700)]
Merge pull request #2724 from dachary/wip-9073-journal-aio-mode-firefly

os/FileJournal: stop aio completion thread *after* writer thread

10 years agoMerge pull request #2742 from ceph/firefly-unknown-locktype
Sage Weil [Fri, 17 Oct 2014 15:20:53 +0000 (08:20 -0700)]
Merge pull request #2742 from ceph/firefly-unknown-locktype

mds: reply -EOPNOTSUPP for unknown lock type

10 years agomds: reply -EOPNOTSUPP for unknown lock type 2742/head
Yan, Zheng [Tue, 14 Oct 2014 14:02:41 +0000 (22:02 +0800)]
mds: reply -EOPNOTSUPP for unknown lock type

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 675392335c53ff7879031fb9184e4f35bcc90fe2)

10 years agoosd/ReplicatedPG: do not clone or preserve snapdir on cache_evict 2737/head
Sage Weil [Sun, 21 Sep 2014 22:56:18 +0000 (15:56 -0700)]
osd/ReplicatedPG: do not clone or preserve snapdir on cache_evict

If we cache_evict a head in a cache pool, we need to prevent
make_writeable() from cloning the head and finish_ctx() from
preserving the snapdir object.

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

10 years agoceph_test_rados_api_tier: add EvictSnap2 test case
Sage Weil [Sun, 21 Sep 2014 22:54:15 +0000 (15:54 -0700)]
ceph_test_rados_api_tier: add EvictSnap2 test case

Verify an evict doesn't create a snapdir object.  Reproduces #8629

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

10 years agoMerge pull request #2734 from ceph/wip-firefly-undump
Sage Weil [Thu, 16 Oct 2014 13:09:51 +0000 (06:09 -0700)]
Merge pull request #2734 from ceph/wip-firefly-undump

mds: fix --undump-journal

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agomds: fix --undump-journal 2734/head
John Spray [Thu, 16 Oct 2014 10:17:40 +0000 (11:17 +0100)]
mds: fix --undump-journal

This hadn't worked for a long time.  This is a fix
for firefly only, as this code was refactored in giant.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoceph-mon: check fs stats just before preforking 2656/head
Joao Eduardo Luis [Tue, 23 Sep 2014 13:02:55 +0000 (14:02 +0100)]
ceph-mon: check fs stats just before preforking

Otherwise statfs may fail if mkfs hasn't been run yet or if the monitor
data directory does not exist.  There are checks to account for the mon
data dir not existing and we should wait for them to clear before we go
ahead and check the fs stats.

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
(cherry picked from commit 7f71c11666b25e91dd612c58b4eda9ac0d4752f8)

Conflicts:
src/ceph_mon.cc

10 years agoceph_mon: check available storage space for mon data dir on start
Joao Eduardo Luis [Thu, 18 Sep 2014 15:53:43 +0000 (16:53 +0100)]
ceph_mon: check available storage space for mon data dir on start

error out if available storage space is below 'mon data avail crit'

Fixes: #9502
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
(cherry picked from commit 2da1a2914ac7df18ce842b0aac728fffb5bed2b6)

Conflicts:
src/ceph_mon.cc

10 years agomon: DataHealthService: use get_fs_stats() instead
Joao Eduardo Luis [Thu, 18 Sep 2014 15:52:34 +0000 (16:52 +0100)]
mon: DataHealthService: use get_fs_stats() instead

and relieve the DataStats struct from clutter by using
ceph_data_stats_t instead of multiple fields.

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
(cherry picked from commit 9996d446988768658db751a7843b13cf3d194213)

Conflicts:
src/mon/DataHealthService.cc

10 years agocommon: util: add get_fs_stats() function
Joao Eduardo Luis [Thu, 18 Sep 2014 15:32:20 +0000 (16:32 +0100)]
common: util: add get_fs_stats() function

simplifies the task of obtaining available/used disk space, as well as
used available percentage.

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
(cherry picked from commit 3d74230d1c0fbfa15487e2a90ac60b883476e840)

10 years agoinclude/util.h: prevent multiple inclusion of header
Joao Eduardo Luis [Thu, 18 Sep 2014 15:25:44 +0000 (16:25 +0100)]
include/util.h: prevent multiple inclusion of header

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 76eff9503493312cb97e4a2f9236f4dbcbf931df)

10 years agomon: re-bootstrap if we get probed by a mon that is way ahead 2657/head
Sage Weil [Thu, 18 Sep 2014 21:23:36 +0000 (14:23 -0700)]
mon: re-bootstrap if we get probed by a mon that is way ahead

During bootstrap we verify that our paxos commits overlap with the other
mons we will form a quorum with.  If they do not, we do a sync.

However, it is possible we pass those checks, then fail to join a quorum
before the quorum moves ahead in time such that we no longer overlap.
Currently nothing kicks up back into a probing state to discover we need
to sync... we will just keep trying to call or join an election instead.

Fix this by jumping back to bootstrap if we get a probe that is ahead of
us.  Only do this from non probe or sync states as these will be common;
it is only the active and electing states that matter (and probably just
electing!).

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

10 years agomon/Paxos: fix off-by-one in last_ vs first_committed check
Sage Weil [Thu, 18 Sep 2014 21:11:24 +0000 (14:11 -0700)]
mon/Paxos: fix off-by-one in last_ vs first_committed check

peon last_committed + 1 == leader first_committed is okay.  Note that the
other check (where I clean up whitespace) gets this correct.

Fixes: #9301 (partly)
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit d81cd7f86695185dce31df76c33c9a02123f0e4a)

10 years agomon/Paxos: share state and verify contiguity early in collect phase
Sage Weil [Wed, 13 Aug 2014 23:17:02 +0000 (16:17 -0700)]
mon/Paxos: share state and verify contiguity early in collect phase

We verify peons are contiguous and share new paxos states to catch peons
up at the end of the round.  Do this each time we (potentially) get new
states via a collect message.  This will allow peons to be pulled forward
and remain contiguous when they otherwise would not have been able to.
For example, if

  mon.0 (leader)  20..30
  mon.1 (peon)    15..25
  mon.2 (peon)    28..40

If we got mon.1 first and then mon.2 second, we would store the new txns
and then boot mon.1 out at the end because 15..25 is not contiguous with
28..40.  However, with this change, we share 26..30 to mon.1 when we get
the collect, and then 31..40 when we get mon.2's collect, pulling them
both into the final quorum.

It also breaks the 'catch-up' work into smaller pieces, which ought to
smooth out latency a bit.

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

10 years agomon/Paxos: verify all new peons are still contiguous at end of round
Sage Weil [Thu, 14 Aug 2014 23:55:58 +0000 (16:55 -0700)]
mon/Paxos: verify all new peons are still contiguous at end of round

During the collect phase we verify that each peon has overlapping or
contiguous versions as us (and can therefore be caught up with some
series of transactions).  However, we *also* assimilate any new states we
get from those peers, and that may move our own first_committed forward
in time.  This means that an early responder might have originally been
contiguous, but a later one moved us forward, and when the round finished
they were not contiguous any more.  This leads to a crash on the peon
when they get our first begin message.

For example:

 - we have 10..20
 - first peon has 5..15
   - ok!
 - second peon has 18..30
   - we apply this state
 - we are now 18..30
 - we finish the round
   - send commit to first peon (empty.. we aren't contiguous)
   - send no commit to second peon (we match)
 - we send a begin for state 31
   - first peon crashes (it's lc is still 15)

Prevent this by checking at the end of the round if we are still
contiguous.  If not, bootstrap.  This is similar to the check we do above,
but reverse to make sure *we* aren't too far ahead of *them*.

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

10 years agomon/Paxos: put source mon id in a temp variable
Sage Weil [Wed, 13 Aug 2014 23:01:01 +0000 (16:01 -0700)]
mon/Paxos: put source mon id in a temp variable

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

10 years agoqa/workunits/rbd/import_export.sh: be case insensitive
Sage Weil [Wed, 15 Oct 2014 19:26:00 +0000 (12:26 -0700)]
qa/workunits/rbd/import_export.sh: be case insensitive

Stop tripping over this change (from dumpling).

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

10 years agoos/FileJournal: stop aio completion thread *after* writer thread 2724/head
Sage Weil [Sat, 30 Aug 2014 02:40:29 +0000 (19:40 -0700)]
os/FileJournal: stop aio completion thread *after* writer thread

The writer thread may submit a new aio to update the header in its
final moments before shutting down.  Do not stop the aio thread until after
that has happened or else we may not wait for those aio completions.

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

Conflicts:
src/os/FileJournal.cc

10 years agoMerge remote-tracking branch 'gh/firefly' into firefly-next
Sage Weil [Tue, 14 Oct 2014 21:57:42 +0000 (14:57 -0700)]
Merge remote-tracking branch 'gh/firefly' into firefly-next

10 years ago0.80.7 v0.80.7
Jenkins [Tue, 14 Oct 2014 19:10:38 +0000 (12:10 -0700)]
0.80.7

10 years agomon/OSDMonitor : Use user provided ruleset for replicated pool
Xiaoxi Chen [Tue, 5 Aug 2014 08:12:22 +0000 (16:12 +0800)]
mon/OSDMonitor : Use user provided ruleset for replicated pool

When creating a replicated pool, currently ceph ignore the ruleset
name provided by user but use a global default ruleset.

This patch fix this bug, so the rulset specified by
ceph osd pool create replicated
can be properly set.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
(cherry picked from commit bf9726a294abd32b429170284ac328a592802648)

10 years agodocumentation: update osd pool create erasure
Loic Dachary [Tue, 3 Jun 2014 11:05:19 +0000 (13:05 +0200)]
documentation: update osd pool create erasure

The properties are replaced with erasure code profiles. Remove the
reference to properties and the documentation of each erasure-code
related property.

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

10 years agorpm: 95-ceph-osd-alt.rules is not needed for centos7 / rhel7 2717/head
Loic Dachary [Sat, 11 Oct 2014 16:20:36 +0000 (18:20 +0200)]
rpm: 95-ceph-osd-alt.rules is not needed for centos7 / rhel7

The || instead of && had it always installed. That was fixed in EPEL
already.

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

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

10 years agoosd: Return EOPNOTSUPP if a set-alloc-hint occurs with OSDs that don't support 2716/head
David Zafman [Wed, 24 Sep 2014 23:02:21 +0000 (16:02 -0700)]
osd: Return EOPNOTSUPP if a set-alloc-hint occurs with OSDs that don't support

Add CEPH_FEATURE_OSD_SET_ALLOC_HINT feature bit
Collect the intersection of all peer feature bits during peering
When handling CEPH_OSD_OP_SETALLOCHINT check that all OSDs support it
by checking for CEPH_FEATURE_OSD_SET_ALLOC_HINT feature bit.

Fixes: #9419
Backport: firefly

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 9b39033f2b2bcdd2be0f6da4dff06023d0f77499)

Conflicts:

src/include/ceph_features.h
src/osd/PG.cc
src/osd/PG.h
src/osd/ReplicatedPG.cc

10 years agoosd: Remove unused PG functions queue_notify(), queue_info(), queue_log()
David Zafman [Fri, 19 Sep 2014 22:12:55 +0000 (15:12 -0700)]
osd: Remove unused PG functions queue_notify(), queue_info(), queue_log()

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 70ef4c11cbae669799c30c7592073ad7aa11dcd6)

10 years agoMerge remote-tracking branch 'origin/wip-7588-firefly' into firefly
Samuel Just [Mon, 13 Oct 2014 17:34:47 +0000 (10:34 -0700)]
Merge remote-tracking branch 'origin/wip-7588-firefly' into firefly

10 years agoMerge remote-tracking branch 'upstream/wip-9696-firefly' into firefly
Samuel Just [Mon, 13 Oct 2014 17:34:34 +0000 (10:34 -0700)]
Merge remote-tracking branch 'upstream/wip-9696-firefly' into firefly

10 years agoosd/ReplicatedPG: carry CopyOpRef in copy_from completion
Sage Weil [Thu, 8 May 2014 21:19:22 +0000 (14:19 -0700)]
osd/ReplicatedPG: carry CopyOpRef in copy_from completion

There is a race with copy_from cancellation.  The internal Objecter
completion decodes a bunch of data and copies it into pointers provided
when the op is queued.  When we cancel, we need to ensure that we can cope
until control passes back to our provided completion.

Once we *do* get into the (ReplicatedPG) callbacks, we will bail out
because the tid in the CopyOp or FlushOp no longer matches.

Fix this by carrying a ref to keep the copy-from targets alive, and
clearing out the tids that we cancel.

Note that previously, the trigger for this was that the tid changes when
we handle a redirect, which made the op_cancel() call fail.  With the
coming Objecter changes, this will no longer be the case.  However, there
are also locking and threading changes that will make cancellation racy,
so we will not be able to rely on it always preventing the callback.
Either way, this will avoid the problem.

Fixes: #7588
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 589b639af7c8834a1e6293d58d77a9c440107bc3)

10 years agoPG::choose_acting: in mixed cluster case, acting may include backfill
Samuel Just [Thu, 9 Oct 2014 23:21:18 +0000 (16:21 -0700)]
PG::choose_acting: in mixed cluster case, acting may include backfill

Fixes: 9696
Backport: firefly, giant
Introduced: 92cfd370395385ca5537b5bc72220934c9f09026
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 9b18d99817c8b54e30dff45047dfe1b29871d659)

10 years agoPGLog::IndexedLog::trim(): rollback_info_trimmed_to_riter may be log.rend()
Samuel Just [Fri, 10 Oct 2014 20:53:29 +0000 (13:53 -0700)]
PGLog::IndexedLog::trim(): rollback_info_trimmed_to_riter may be log.rend()

Fixes: #9731
Backport: giant, firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit d458b4f0f31161f561ff98e58ed979cf20c6f588)

10 years agoMerge pull request #2691 from ceph/firefly-unused-variable
Gregory Farnum [Fri, 10 Oct 2014 13:57:06 +0000 (06:57 -0700)]
Merge pull request #2691 from ceph/firefly-unused-variable

Firefly unused variable

10 years agomds: Locker: remove unused variable 2691/head
Yan, Zheng [Fri, 10 Oct 2014 13:36:39 +0000 (21:36 +0800)]
mds: Locker: remove unused variable

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #2681 from ceph/firefly-locker-null
Yan, Zheng [Fri, 10 Oct 2014 01:37:53 +0000 (09:37 +0800)]
Merge pull request #2681 from ceph/firefly-locker-null

mds: Locker: fix a NULL deref in _update_cap_fields

10 years agomds: Locker: fix a NULL deref in _update_cap_fields 2681/head
Greg Farnum [Thu, 9 Oct 2014 22:12:19 +0000 (15:12 -0700)]
mds: Locker: fix a NULL deref in _update_cap_fields

The MClientCaps* is allowed to be NULL, so we can't deref it unless
the dirty param is non-zero. So don't do the ahead-of-time lookup;
just call it explicitly in the if block.

Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 3cd8a7fb9683577a7d6e934f18c29b7e84415be6)

10 years agoMerge pull request #2662 from dachary/wip-9677-ioprio-class-firefly
Loic Dachary [Wed, 8 Oct 2014 06:44:46 +0000 (08:44 +0200)]
Merge pull request #2662 from dachary/wip-9677-ioprio-class-firefly

common: ceph_ioprio_string_to_class always returns -EINVAL

10 years agocommon: ceph_ioprio_string_to_class always returns -EINVAL 2662/head
Loic Dachary [Tue, 7 Oct 2014 12:06:38 +0000 (14:06 +0200)]
common: ceph_ioprio_string_to_class always returns -EINVAL

The l string is always empty because std::transform needs a
pre-allocated string. Replace with the in-place version. Add unit tests.

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

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

Conflicts:
src/test/Makefile.am

10 years agoosd: log error if set_ioprio fails to parse class
Loic Dachary [Tue, 7 Oct 2014 12:05:08 +0000 (14:05 +0200)]
osd: log error if set_ioprio fails to parse class

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

10 years agocommon: set_ioprio debug message including pid
Loic Dachary [Tue, 7 Oct 2014 12:03:39 +0000 (14:03 +0200)]
common: set_ioprio debug message including pid

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

10 years agocommon: do not set ioprio if pid is not set
Loic Dachary [Tue, 7 Oct 2014 12:02:09 +0000 (14:02 +0200)]
common: do not set ioprio if pid is not set

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

10 years agoMerge pull request #2632 from ceph/wip-9039-firefly
Sage Weil [Tue, 7 Oct 2014 16:58:03 +0000 (09:58 -0700)]
Merge pull request #2632 from ceph/wip-9039-firefly

rgw: copy object data if target bucket is in a different pool

10 years agodebian/control: fix python-ceph -> ceph file move to allow upgrades
Sage Weil [Mon, 6 Oct 2014 22:50:51 +0000 (15:50 -0700)]
debian/control: fix python-ceph -> ceph file move to allow upgrades

This is a backport of 5c6c366d2abe771c581690270c2d176ebb30c571 with the
version numbers changed, to compensate for the change in
fe3434f41cd09433975d7d0f9dbb2fae662e4a1b (backported in
bf1933e5c184476a354664c42fec834e9f59067c).

Tested-by: Tamil Muthamizhan <tamil.muthamizhan@inktank.com>
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge remote-tracking branch 'gh/wip-rpm-epoch-firefly' into firefly
Sage Weil [Mon, 6 Oct 2014 14:01:50 +0000 (07:01 -0700)]
Merge remote-tracking branch 'gh/wip-rpm-epoch-firefly' into firefly

Reviewed-by: Boris Ranto <branto@redhat.com>
10 years agoMerge pull request #2643 from johnugeorge/wip-9492-crush-firefly
Loic Dachary [Mon, 6 Oct 2014 07:50:33 +0000 (09:50 +0200)]
Merge pull request #2643 from johnugeorge/wip-9492-crush-firefly

Crush: Backporting fixes for #9492 to firefly

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agoCrush: Ensuring at most num-rep osds are selected 2643/head
Johnu George [Mon, 29 Sep 2014 17:07:44 +0000 (10:07 -0700)]
Crush: Ensuring at most num-rep osds are selected

Crush temporary buffers are allocated as per replica size configured
by the user.When there are more final osds (to be selected as per
rule) than the replicas, buffer overlaps and it causes crash.Now, it
ensures that at most num-rep osds are selected even if more number of
osds are allowed by indep rule. The fix for firstn rules is already
merged as part of bug #9492. Required test files are added.

Fixes: #9492
Signed-off-by: Johnu George johnugeo@cisco.com
(cherry picked from commit 234b066ba04976783d15ff2abc3e81b6cc06fb10)

10 years agoCrush: Ensuring at most num-rep osds are selected
Johnu George [Wed, 24 Sep 2014 16:32:50 +0000 (09:32 -0700)]
Crush: Ensuring at most num-rep osds are selected

Crush temporary buffers are allocated as per replica size configured
by the user.When there are more final osds (to be selected as per
rule) than the replicas, buffer overlaps and it causes crash.Now, it
ensures that at most num-rep osds are selected even if more number of
osds are allowed by the rule.

Fixes: #9492
Signed-off-by: Johnu George <johnugeo@cisco.com>
(cherry picked from commit 6b4d1aa99718e3b367496326c1e64551330fabc0)

10 years agoMerge pull request #2634 from dachary/wip-9653-ceph-disk-bootstrap-osd-firefly
Sage Weil [Fri, 3 Oct 2014 18:58:41 +0000 (11:58 -0700)]
Merge pull request #2634 from dachary/wip-9653-ceph-disk-bootstrap-osd-firefly

ceph-disk: bootstrap-osd keyring ignores --statedir (firefly)