]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
8 years agouse the create option during instantiation 12969/head
Vasu Kulkarni [Tue, 10 Jan 2017 23:43:12 +0000 (15:43 -0800)]
use the create option during instantiation

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
8 years agoRemove debug overrides
Vasu Kulkarni [Tue, 10 Jan 2017 01:59:20 +0000 (17:59 -0800)]
Remove debug overrides

the high level of debug for mon/osd is causing remoto to hang during get key

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
8 years agoAdd ceph-create-keys to explicitly create admin/bootstrap keys
Vasu Kulkarni [Tue, 10 Jan 2017 00:45:01 +0000 (16:45 -0800)]
Add ceph-create-keys to explicitly create admin/bootstrap keys

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
8 years agoMerge tag 'v11.1.1' into kraken
Sage Weil [Tue, 17 Jan 2017 20:32:47 +0000 (15:32 -0500)]
Merge tag 'v11.1.1' into kraken

v11.1.1

8 years agoMerge pull request #12960 from SUSE/wip-18546-kraken
Jason Dillaman [Tue, 17 Jan 2017 13:40:38 +0000 (08:40 -0500)]
Merge pull request #12960 from SUSE/wip-18546-kraken

kraken: [teuthology] update Ubuntu image url after ceph.com refactor

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoqa/tasks/qemu: update default image url after ceph.com redesign 12960/head
Jason Dillaman [Tue, 17 Jan 2017 03:12:51 +0000 (22:12 -0500)]
qa/tasks/qemu: update default image url after ceph.com redesign

Fixes: http://tracker.ceph.com/issues/18542
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 6d17befb3bbc3d83c9d23d763ad95e1e7b2e4be0)

8 years agoMerge pull request #12949 from cbodley/wip-rgw-kraken
Sage Weil [Mon, 16 Jan 2017 20:04:55 +0000 (14:04 -0600)]
Merge pull request #12949 from cbodley/wip-rgw-kraken

rgw: valgrind fixes for kraken

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agorgw: RGWCloneMetaLogCoroutine uses RGWMetadataLogInfoCompletion 12949/head
Casey Bodley [Thu, 5 Jan 2017 18:10:50 +0000 (13:10 -0500)]
rgw: RGWCloneMetaLogCoroutine uses RGWMetadataLogInfoCompletion

Fixes: http://tracker.ceph.com/issues/18412
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 34a2edbf53f26a21e3206027dc61efc70d9c6aad)

8 years agorgw: expose completion for RGWMetadataLog::get_info_async()
Casey Bodley [Thu, 5 Jan 2017 18:10:18 +0000 (13:10 -0500)]
rgw: expose completion for RGWMetadataLog::get_info_async()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7b3532e2ad0f478a1670ceb61fd68209df87aa8b)

8 years agorgw: RGWMetaSyncShardCR drops stack refs on destruction
Casey Bodley [Wed, 21 Dec 2016 19:32:04 +0000 (14:32 -0500)]
rgw: RGWMetaSyncShardCR drops stack refs on destruction

if the coroutine is canceled before collect_children() can clean up
all of its child stacks, those stack refs will leak. store these
stacks as boost::intrusive_ptr so the ref is dropped automatically on
destruction

Fixes: http://tracker.ceph.com/issues/18300
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 060fe72faf6a483a36d481207c6624c46a414231)

8 years agorgw: RGWAsyncRadosRequest drops notifier ref on cancel
Casey Bodley [Thu, 5 Jan 2017 21:06:45 +0000 (16:06 -0500)]
rgw: RGWAsyncRadosRequest drops notifier ref on cancel

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 1d586f76a11fed937fc7bb0f7cf6a44ca0506881)

8 years agorgw: release RGWAioCompletionNotifier refs on destruction
Casey Bodley [Wed, 4 Jan 2017 16:36:00 +0000 (11:36 -0500)]
rgw: release RGWAioCompletionNotifier refs on destruction

Fixes: http://tracker.ceph.com/issues/18407
Fixes: http://tracker.ceph.com/issues/18414
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7a4975adba8b890e211d47662896e445a9822970)

8 years agoMerge pull request #12889 from dillaman/wip-18452-kraken
Jason Dillaman [Sat, 14 Jan 2017 14:57:38 +0000 (09:57 -0500)]
Merge pull request #12889 from dillaman/wip-18452-kraken

kraken: librbd: new API method to force break a peer's exclusive lock

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agorgw_rados: sanitize dout print in GWRados::get_obj_iterate_cb(...)
Matt Benjamin [Fri, 6 Jan 2017 20:16:32 +0000 (15:16 -0500)]
rgw_rados: sanitize dout print in GWRados::get_obj_iterate_cb(...)

We cannot assume pbl may be deferenced.  Per review, move the dout
print into the r < 0 condition--since it's now an error, make it's
trace level 0.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit c0233c4abb9f99304e3d82272bbb4385086bbfc0)

8 years agorgw_rados: add guard assert in add_io()
Matt Benjamin [Fri, 6 Jan 2017 17:30:42 +0000 (12:30 -0500)]
rgw_rados: add guard assert in add_io()

Use the iterator-returning insert operation in std::map, check
assert the insert case.  As a side effect, this makes use of the
inserted object record more clear.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit d10c37adf925d8b34daa81b419463ea376ec27aa)

8 years agoMerge pull request #12911 from athanatos/wip-18165
Sage Weil [Thu, 12 Jan 2017 21:48:27 +0000 (15:48 -0600)]
Merge pull request #12911 from athanatos/wip-18165

osd/PrimaryLogPG::failed_push: update missing as well

8 years agoMerge pull request #12910 from athanatos/wip-18358
Sage Weil [Thu, 12 Jan 2017 21:48:08 +0000 (15:48 -0600)]
Merge pull request #12910 from athanatos/wip-18358

osdc/Objecter: resend pg commands on interval change

8 years agoObjecter: resend pg commands on interval change 12869/head 12910/head
Samuel Just [Thu, 12 Jan 2017 20:44:44 +0000 (12:44 -0800)]
Objecter: resend pg commands on interval change

mark_lost_unfound* are now async since the rework, so we need
the Objecter to be able to resend on interval change.  This
is preferable to somehow requeueing the Command because they
don't use the normal op queue.

Fixes: http://tracker.ceph.com/issues/18358
Signed-off-by: Samuel Just <sjust@redhat.com>
8 years agoObjecter: fold last_force_resend into op_target_t
Samuel Just [Tue, 10 Jan 2017 02:08:53 +0000 (18:08 -0800)]
Objecter: fold last_force_resend into op_target_t

It's always passed along with op_target_t, this seems simpler.

Signed-off-by: Samuel Just <sjust@redhat.com>
8 years agolibrados: blacklist_add should wait for latest OSD map 12889/head
Jason Dillaman [Fri, 6 Jan 2017 16:17:10 +0000 (11:17 -0500)]
librados: blacklist_add should wait for latest OSD map

This ensures that future operations against the OSDs force
a OSD map update to notice the blacklisted client.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 9242a2e4e1a5a9fcea48d8135b1589493fc28242)

8 years agolibrbd: prevent assertion failure when journal IO is blacklisted
Jason Dillaman [Thu, 5 Jan 2017 18:31:57 +0000 (13:31 -0500)]
librbd: prevent assertion failure when journal IO is blacklisted

Fixes: http://tracker.ceph.com/issues/18429
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit c720f6e3704ed7e8cf41dffdb931dbb05d59a003)

8 years agolibrbd: ignore blacklist error when releasing exclusive lock
Jason Dillaman [Wed, 4 Jan 2017 17:12:27 +0000 (12:12 -0500)]
librbd: ignore blacklist error when releasing exclusive lock

This ensures the journal and object map are properly closed so that the
image can be properly closed w/o failing any assertions.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 418dcf29cb8c450049047e09a4dad2941af87018)

8 years agolibrbd: fail immediately if the exclusive lock cannot be acquired
Jason Dillaman [Tue, 3 Jan 2017 20:29:17 +0000 (15:29 -0500)]
librbd: fail immediately if the exclusive lock cannot be acquired

Fixes: http://tracker.ceph.com/issues/16988
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 47b89f4d48a0b99876462167389df28893a8d418)

8 years agolibrbd: add new lock_get_owners / lock_break_lock API methods
Jason Dillaman [Tue, 3 Jan 2017 19:51:14 +0000 (14:51 -0500)]
librbd: add new lock_get_owners / lock_break_lock API methods

If the client application supports failover, let the application
force break the current lock and blacklist the owner. This is
required in case the current lock owner is alive from the point-of-view
of librbd but failover was required due to a higher level reason.

Fixes: http://tracker.ceph.com/issues/18327
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 9a5a8c75a025143cee6f92f3dbc3a12f2b6a9ad7)

8 years agolibrbd: separate break lock logic into standalone state machine
Jason Dillaman [Thu, 22 Dec 2016 20:00:23 +0000 (15:00 -0500)]
librbd: separate break lock logic into standalone state machine

The current lockers are now queried before the lock is attempted to
prevent any possible race conditions when one or more clients attempt
to break the lock of a dead client.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 23f60fee86d1ff9b261fbb6411746a2a9479cf19)

8 years agolibrbd: separate locker query into standalone state machine
Jason Dillaman [Thu, 22 Dec 2016 22:24:47 +0000 (17:24 -0500)]
librbd: separate locker query into standalone state machine

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 03533b912c59d5e433d0f006e1a063e014468ca5)

8 years agoPrimaryLogPG::failed_push: update missing as well 12888/head 12911/head
Samuel Just [Tue, 10 Jan 2017 02:48:28 +0000 (18:48 -0800)]
PrimaryLogPG::failed_push: update missing as well

This way, pick_newest_available should do the right thing.

Fixes: http://tracker.ceph.com/issues/18165
Signed-off-by: Samuel Just <sjust@redhat.com>
8 years agoosd: _exit() intead of exit() for failure injection
Sage Weil [Fri, 30 Dec 2016 20:42:44 +0000 (15:42 -0500)]
osd: _exit() intead of exit() for failure injection

This avoids a segv from code that doesn't easily shut
down (e.g., bluestore).

Fixes: http://tracker.ceph.com/issues/18372
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c2fac9c9a92a63b9a456c9e301c4b393de096a97)

8 years agoos/bluestore/BlueFS: fix reclaim_blocks
Sage Weil [Fri, 30 Dec 2016 17:22:42 +0000 (12:22 -0500)]
os/bluestore/BlueFS: fix reclaim_blocks

We need to return all extents to the caller.  The current code
fails to assign *offset so it appears like a single extent from
the start of the device, which is very wrong.

Fixes: http://tracker.ceph.com/issues/18368
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 882ad33b527c9ea2224dcdc28f9fa3f459ee4712)

8 years agoos/bluestore/bluestore_types: operator<< for AllocExtent
Sage Weil [Fri, 30 Dec 2016 17:19:11 +0000 (12:19 -0500)]
os/bluestore/bluestore_types: operator<< for AllocExtent

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

8 years agoMerge pull request #12823 from SUSE/wip-18451-kraken
Jason Dillaman [Mon, 9 Jan 2017 01:39:03 +0000 (20:39 -0500)]
Merge pull request #12823 from SUSE/wip-18451-kraken

kraken: tests: update rbd/singleton/all/formatted-output.yaml to support ceph-ci

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agotests: subst repo and branch in qemu test urls 12823/head
Nathan Cutler [Sat, 7 Jan 2017 12:48:51 +0000 (13:48 +0100)]
tests: subst repo and branch in qemu test urls

References: http://tracker.ceph.com/issues/18440
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 2484a5546160560a4050d35400a6edce37ae48ad)

8 years agotests: subst branch and repo in qa/tasks/qemu.py
Nathan Cutler [Sat, 7 Jan 2017 12:45:10 +0000 (13:45 +0100)]
tests: subst branch and repo in qa/tasks/qemu.py

References: http://tracker.ceph.com/issues/18440
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 74689df754561e11a3377998840efcea9e780755)

8 years agotests: subst repo name in krbd/unmap/tasks/unmap.yaml
Nathan Cutler [Fri, 6 Jan 2017 20:09:23 +0000 (21:09 +0100)]
tests: subst repo name in krbd/unmap/tasks/unmap.yaml

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

8 years agotests: subst repo name in qa/tasks/cram.py
Nathan Cutler [Fri, 6 Jan 2017 20:06:11 +0000 (21:06 +0100)]
tests: subst repo name in qa/tasks/cram.py

Inspired by bcbe45d948f1c4da02e27b3be5f29a8b52745e28

Fixes: http://tracker.ceph.com/issues/18440
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 56e37e41f4dddd289dd3c1886b192cd328ed311b)

8 years agoMerge pull request #12814 from yuriw/kraken
Tamilarasi Muthamizhan [Fri, 6 Jan 2017 21:48:41 +0000 (13:48 -0800)]
Merge pull request #12814 from yuriw/kraken

Kraken

8 years agoUsing centos 7.2 as latest version 12814/head
Yuri Weinstein [Thu, 5 Jan 2017 23:42:07 +0000 (23:42 +0000)]
Using centos 7.2 as latest version

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
(cherry picked from commit 6c00a64e8723e06b98c2d7a28d6fc28260e087bc)
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
8 years agoqa: Cleaned up distros to use `latest` versions
Yuri Weinstein [Thu, 5 Jan 2017 21:28:39 +0000 (13:28 -0800)]
qa: Cleaned up distros to use `latest` versions

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
(cherry picked from commit b29faef354ec47a27178716f6e1caeb796fbf844)

8 years agoMerge pull request #12803 from athanatos/wip-oi-mismatch
Josh Durgin [Thu, 5 Jan 2017 21:00:00 +0000 (13:00 -0800)]
Merge pull request #12803 from athanatos/wip-oi-mismatch

PrimaryLogPG: don't update digests for objects with mismatched names

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge branch 'kraken' into wip-oi-mismatch 12803/head
Josh Durgin [Thu, 5 Jan 2017 20:59:14 +0000 (12:59 -0800)]
Merge branch 'kraken' into wip-oi-mismatch

8 years agoMerge pull request #12773 from yuriw/kraken
Josh Durgin [Wed, 4 Jan 2017 01:41:39 +0000 (17:41 -0800)]
Merge pull request #12773 from yuriw/kraken

qa: fixed distros links

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoqa: fixed distros links 12773/head
Yuri Weinstein [Tue, 3 Jan 2017 23:59:18 +0000 (15:59 -0800)]
qa: fixed distros links

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
(cherry picked from commit fbb560c90101937317380a6621a70564f10e0ae3)

8 years agoMerge pull request #12768 from yuriw/wip_fix_distros
Josh Durgin [Tue, 3 Jan 2017 23:01:13 +0000 (15:01 -0800)]
Merge pull request #12768 from yuriw/wip_fix_distros

qa: Fixed link to centos distro

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoqa: Fixed link to centos distro 12768/head
Yuri Weinstein [Tue, 3 Jan 2017 22:36:27 +0000 (14:36 -0800)]
qa: Fixed link to centos distro

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
8 years agoPrimaryLogPG: don't update digests for objects with mismatched names 12788/head
Samuel Just [Tue, 3 Jan 2017 18:50:22 +0000 (10:50 -0800)]
PrimaryLogPG: don't update digests for objects with mismatched names

I've only seen this on one cluster, but let's not issue repops during
scrub on objects where the object_info_t::soid value is not correct.
The cluster in question has been through many different non-release
kernels and osd versions, so the objects presumably came about due to an
old xfs or filestore bug.  They recently became fatal since we made
filestore crash on ENOENT for setattrs.  In the past, the cluster just
silently tolerated them.

http://tracker.ceph.com/issues/18409 is a larger feature to detect these
better and repair them automatically.

Related: http://tracker.ceph.com/issues/18409
Signed-off-by: Samuel Just <sjust@redhat.com>
8 years agoMerge pull request #12752 from SUSE/wip-18392-kraken
Jason Dillaman [Tue, 3 Jan 2017 14:18:16 +0000 (09:18 -0500)]
Merge pull request #12752 from SUSE/wip-18392-kraken

kraken: qa/workunits/rbd/test_lock_fence.sh fails

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agotests: rbd/test_lock_fence.sh: fix rbdrw.py relative path 12752/head
Nathan Cutler [Mon, 2 Jan 2017 21:49:13 +0000 (22:49 +0100)]
tests: rbd/test_lock_fence.sh: fix rbdrw.py relative path

This commit fixes a regression introduced by
cf294777ea92f0911813a7132068584d4f73a65a

Fixes: http://tracker.ceph.com/issues/18388
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 91231de16dbe4d0e493ec617165a2b38078d122b)

8 years agoos/bluestore: _txc_release_alloc when do wal cleaning
Xinze Chi [Wed, 28 Dec 2016 02:33:40 +0000 (10:33 +0800)]
os/bluestore: _txc_release_alloc when do wal cleaning

Signed-off-by: Xinze Chi <xinze@xsky.com>
(cherry picked from commit 59fdcc199039f875bff5bc218b61b2e6857e885c)

8 years agoMerge pull request #12475 from dillaman/wip-18231-kraken
Sage Weil [Tue, 27 Dec 2016 15:38:00 +0000 (09:38 -0600)]
Merge pull request #12475 from dillaman/wip-18231-kraken

librbd: remove consistency group rbd cli and API support

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
8 years agomon/OSDMonitor: fixup sortbitwise flag warning
huanwen ren [Tue, 27 Dec 2016 10:54:45 +0000 (10:54 +0000)]
mon/OSDMonitor: fixup sortbitwise flag warning

"ceph -s" does not report warning when using
command "ceph osd unset sortbitwise" to drop
sortbitwise flag.
we should use "osdmap.get_up_osd_features() &
CEPH_FEATURE_OSD_BITWISE_HOBJ_SORT"
instead of "(osdmap.get_features(CEPH_ENTITY_TYPE_OSD, NULL) &
CEPH_FEATURE_OSD_BITWISE_HOBJ_SORT)",
because osdmap.get_features only get local "features"

Signed-off-by: huanwen ren <ren.huanwen@zte.com.cn>
(cherry picked from commit c25ee187e28724846d0011cd8145e16956d3636e)

8 years agoMerge pull request #12630 from liewegas/wip-workunit-retry
Sage Weil [Fri, 23 Dec 2016 14:12:35 +0000 (08:12 -0600)]
Merge pull request #12630 from liewegas/wip-workunit-retry

qa/tasks/workunit: clear clone dir before retrying checkout

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge pull request #12614 from liewegas/wip-task-peer
Sage Weil [Fri, 23 Dec 2016 14:11:36 +0000 (08:11 -0600)]
Merge pull request #12614 from liewegas/wip-task-peer

qa/tasks/peer: update task based on current peering behavior

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge pull request #12632 from liewegas/wip-centos-73
Yuri Weinstein [Thu, 22 Dec 2016 23:19:07 +0000 (15:19 -0800)]
Merge pull request #12632 from liewegas/wip-centos-73

qa/suites: switch from centos 7.2 to 7.x

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
8 years agoqa/distros: centos_7.yaml -> centos.yaml 12632/head
Sage Weil [Thu, 22 Dec 2016 22:19:42 +0000 (17:19 -0500)]
qa/distros: centos_7.yaml -> centos.yaml

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoqa/suites: centos_7.2.yaml -> centos_7.yaml
Sage Weil [Thu, 22 Dec 2016 20:41:25 +0000 (15:41 -0500)]
qa/suites: centos_7.2.yaml -> centos_7.yaml

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoqa/distros: add centos 7.3
Sage Weil [Thu, 22 Dec 2016 20:39:41 +0000 (15:39 -0500)]
qa/distros: add centos 7.3

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoqa/distros: add centos 7 yaml; use that instead
Sage Weil [Thu, 22 Dec 2016 20:39:35 +0000 (15:39 -0500)]
qa/distros: add centos 7 yaml; use that instead

No need to be picky about the point release here.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years ago11.1.1 v11.1.1
Jenkins Build Slave User [Thu, 22 Dec 2016 20:12:38 +0000 (20:12 +0000)]
11.1.1

8 years agoMerge pull request #12629 from liewegas/wip-bluestore-shard-extents
Sage Weil [Thu, 22 Dec 2016 18:50:32 +0000 (12:50 -0600)]
Merge pull request #12629 from liewegas/wip-bluestore-shard-extents

os/bluestore: remove 'extents' from shard_info

Reviewed-by: Somnath Roy <somnath.roy@sandisk.com>
8 years agoqa/tasks/workunit: clear clone dir before retrying checkout 12630/head
Sage Weil [Thu, 22 Dec 2016 18:05:22 +0000 (13:05 -0500)]
qa/tasks/workunit: clear clone dir before retrying checkout

If we checkout ceph-ci.git, and don't find a branch,
we'll try again from ceph.git. But the checkout will
already exist and the clone will fail, so we'll still
fail to find the branch.

The same can happen if a previous workunit task already
checked out the repo.

Fix by removing the repo before checkout (the first and
second times).  Note that this may break if there are
multiple workunit tasks running in parallel on the same
role.  That is already racy, so if it's happening, we'll
want to switch to using a truly unique clonedir for each
instantiation.

Fixes: http://tracker.ceph.com/issues/18336
Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoos/bluestore: remove 'extents' from shard_info 12629/head
Sage Weil [Thu, 22 Dec 2016 16:03:51 +0000 (11:03 -0500)]
os/bluestore: remove 'extents' from shard_info

We don't use this field; no need to consume the space
on disk.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoos/bluestore/bluefs: make bluefs_preextend_wal_files default is false.
Jianpeng Ma [Thu, 22 Dec 2016 16:06:50 +0000 (00:06 +0800)]
os/bluestore/bluefs: make bluefs_preextend_wal_files default is false.

This make rocksdb log corruption. Before fix, disable this function.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
8 years agomon: MonMap: clear 'mon_info' during decode
Joao Eduardo Luis [Wed, 21 Dec 2016 23:40:47 +0000 (23:40 +0000)]
mon: MonMap: clear 'mon_info' during decode

It so happens that it's not safe to assume the monmap will be in an
empty state upon decoding.

Turns out the MonClient will reuse the MonMap instance when decoding
the just received map from the monitors. Should the monitors be on an
older version that do not support 'mon_info', this field will not be
decoded (after all, there's no field to decode from); but by this time,
the MonClient would already have a built monmap, which could have
populated 'mon_info' with temporary mon names from 'mon initial
members'.

Given the existing entries in 'mon_info', and the conflicting entries in
'mon_addr', we would end up asserting in 'sanitize_mons()'. This becomes
a non-issue if 'mon_info' is empty, as was unfortunately presumed.

Fixes: http://tracker.ceph.com/issues/18265
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
8 years agoMerge branch 'kraken' into wip-18314 12599/head
Sage Weil [Thu, 22 Dec 2016 13:53:23 +0000 (07:53 -0600)]
Merge branch 'kraken' into wip-18314

8 years agoqa/tasks/peer: update task based on current peering behavior 12614/head
Sage Weil [Thu, 22 Dec 2016 04:06:09 +0000 (23:06 -0500)]
qa/tasks/peer: update task based on current peering behavior

This changed in 0be3f5f72e169fad08dcb0240de45287b567bd49.

Fixes: http://tracker.ceph.com/issues/18330
Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/PG: output recovery_state records for Down and Incomplete states
Sage Weil [Thu, 22 Dec 2016 13:40:05 +0000 (08:40 -0500)]
osd/PG: output recovery_state records for Down and Incomplete states

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12603 from liewegas/wip-fix-rwordered
Sage Weil [Thu, 22 Dec 2016 03:03:43 +0000 (21:03 -0600)]
Merge pull request #12603 from liewegas/wip-fix-rwordered

osd: fix CEPH_OSD_FLAG_RWORDERED

Reviewed-by: Samuel Just <sjust@redhat.com>
8 years agoosd: fix CEPH_OSD_FLAG_RWORDERED 12603/head
Sage Weil [Wed, 21 Dec 2016 19:24:37 +0000 (14:24 -0500)]
osd: fix CEPH_OSD_FLAG_RWORDERED

Broke this in 3a2ed3b136de68192f661b6992cbb96ce6aafd20.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/PrimaryLogPG: enlarge omap request bytes limitation
Yan, Zheng [Wed, 21 Dec 2016 08:35:50 +0000 (16:35 +0800)]
osd/PrimaryLogPG: enlarge omap request bytes limitation

For cephfs, 4M buffer can only encode about 5k dentries. It's too
small for directory.

Fixes: http://tracker.ceph.com/issues/18314
Signed-off-by: Yan, Zheng <zyan@redhat.com>
8 years agoMerge pull request #12587 from yuriw/wip-fix-subset-script-master
Jason Dillaman [Tue, 20 Dec 2016 23:47:39 +0000 (18:47 -0500)]
Merge pull request #12587 from yuriw/wip-fix-subset-script-master

qa: fixed script to schedule rados and other suites with --subset option

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agochanged script name 12587/head
Yuri Weinstein [Tue, 20 Dec 2016 17:36:19 +0000 (09:36 -0800)]
changed script name
added kraken
parameterized suite name to be able to use for rados, rbd etc.

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
8 years agoMerge pull request #12590 from athanatos/wip-ping-write-ordered
Sage Weil [Tue, 20 Dec 2016 23:13:31 +0000 (17:13 -0600)]
Merge pull request #12590 from athanatos/wip-ping-write-ordered

osd: force watch PING to be write ordered

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12593 from wjwithagen/wip-wjw-freebssd-SO_reuseaddr
Sage Weil [Tue, 20 Dec 2016 20:07:23 +0000 (14:07 -0600)]
Merge pull request #12593 from wjwithagen/wip-wjw-freebssd-SO_reuseaddr

msg/async/net_handler.cc: Do not apply SO_REUSEADDR for FreeBSD

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12584 from mkoderer/openstack_nova_doc
Jason Dillaman [Tue, 20 Dec 2016 19:00:36 +0000 (14:00 -0500)]
Merge pull request #12584 from mkoderer/openstack_nova_doc

doc: mention corresponding libvirt section in nova.conf

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agomsg/async/net_handler.cc: Do not apply SO_REUSEADDR for FreeBSD 12593/head
Willem Jan Withagen [Tue, 20 Dec 2016 18:43:47 +0000 (19:43 +0100)]
msg/async/net_handler.cc: Do not apply SO_REUSEADDR for FreeBSD

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
8 years agoosd/: treat PINGs as RWORDERED 12590/head
Samuel Just [Tue, 20 Dec 2016 17:47:41 +0000 (09:47 -0800)]
osd/: treat PINGs as RWORDERED

89fd030bf9436dc4e37cc3a0f935ec077455d9d5 switched them to show up
as reads to avoid logging them, but we still pipeline them with
reconnects.  Thus, also force them to be rwordered.

Fixes: http://tracker.ceph.com/issues/18310
Signed-off-by: Samuel Just <sjust@redhat.com>
8 years agoMerge pull request #12540 from dmick/wip-18297
Sage Weil [Tue, 20 Dec 2016 15:56:32 +0000 (09:56 -0600)]
Merge pull request #12540 from dmick/wip-18297

ceph.in: allow 'flags' to not be present in cmddescs

8 years agoMerge pull request #12577 from liewegas/wip-osd-backfill
Josh Durgin [Tue, 20 Dec 2016 15:51:24 +0000 (07:51 -0800)]
Merge pull request #12577 from liewegas/wip-osd-backfill

qa/tasks/osd_backfill.py: wait for osd.[12] to start

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge pull request #12574 from liewegas/wip-bluestore-split
Sage Weil [Tue, 20 Dec 2016 14:43:29 +0000 (08:43 -0600)]
Merge pull request #12574 from liewegas/wip-bluestore-split

os/bluestore: preserve source collection cache during split

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
8 years agoDOC: Mention corresponding section in nova.conf 12584/head
Marc Koderer [Tue, 20 Dec 2016 13:49:19 +0000 (14:49 +0100)]
DOC: Mention corresponding section in nova.conf

rbd_user and rbd_secret_uuid are part of the libvirt configuration.

Signed-off-by: Marc Koderer <marc@koderer.com>
8 years agoMerge pull request #12472 from dillaman/wip-18244
Mykola Golub [Tue, 20 Dec 2016 11:10:55 +0000 (13:10 +0200)]
Merge pull request #12472 from dillaman/wip-18244

librbd: remove image header lock assertions

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
8 years agoMerge pull request #12532 from ifed01/wip-bluestore-large-onode-test
Sage Weil [Tue, 20 Dec 2016 03:26:41 +0000 (21:26 -0600)]
Merge pull request #12532 from ifed01/wip-bluestore-large-onode-test

os/bluestore: add UT for an estimation of Onode in-memory size

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12505 from ceph/wip-jlayton-submount
Sage Weil [Tue, 20 Dec 2016 03:18:19 +0000 (21:18 -0600)]
Merge pull request #12505 from ceph/wip-jlayton-submount

client: set metadata["root"] from mount method when it's called with …

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
8 years agoMerge pull request #12570 from wjwithagen/patch-9
Sage Weil [Tue, 20 Dec 2016 03:17:19 +0000 (21:17 -0600)]
Merge pull request #12570 from wjwithagen/patch-9

common/str_list.h: fix clang warning about std::move

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #12541 from liewegas/wip-bluestore-omap-flush
Sage Weil [Tue, 20 Dec 2016 03:15:37 +0000 (21:15 -0600)]
Merge pull request #12541 from liewegas/wip-bluestore-omap-flush

os/bluestore: include modified objects in flush list even if onode unchanged

Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
8 years agoqa/tasks/osd_backfill.py: wait for osd.[12] to start 12577/head
Sage Weil [Tue, 20 Dec 2016 02:55:54 +0000 (21:55 -0500)]
qa/tasks/osd_backfill.py: wait for osd.[12] to start

...before sending a tell command.  Otherwise osd.2 might
start without 1, the io unblocks, and the tell fails
because osd.1 is still down.

Fixes: http://tracker.ceph.com/issues/18303
Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoos/bluestore: preserve source collection cache during split 12574/head
Sage Weil [Mon, 19 Dec 2016 22:04:26 +0000 (17:04 -0500)]
os/bluestore: preserve source collection cache during split

OSD split transactions look something like

 mkcoll new
 split old
 ...
 omap_rmkey_range old
 omap_setkeys old
 omap_setkeys new

The last part splits the log into two pieces.  The
problem is that the rmkey_range needs to wait on old
omap transactions to flush, and those are linked to the
old onode, and split clears the cache.  The result is
that we don't wait, rmkeyrange leaves some recent pg log
keys behind, and on OSD restart we get an error because
the object doesn't belong to the (old) collection.

Fix this by preserving objects in the old collection and
only clear out objects that are moving to the newly
split collections.  This will include the pgmeta object
that we care about.

(Note that we are one step closer to preserving the
cache contents across the split, but not quite there
yet: at this point we don't have all of the destination
collections.  A change in the ObjectStore interface is
probably needed to make that not be extremely awkward.)

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12571 from athanatos/wip-15943
Samuel Just [Mon, 19 Dec 2016 21:50:15 +0000 (13:50 -0800)]
Merge pull request #12571 from athanatos/wip-15943

osd: Fix map gaps again (bug 15943)

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12572 from liewegas/wip-python-rados-test
vasukulkarni [Mon, 19 Dec 2016 20:25:38 +0000 (12:25 -0800)]
Merge pull request #12572 from liewegas/wip-python-rados-test

qa/workunits: include extension for nose tests

8 years agoMerge pull request #12568 from ifed01/wip-bluestore-onode-diet2
Sage Weil [Mon, 19 Dec 2016 20:15:03 +0000 (14:15 -0600)]
Merge pull request #12568 from ifed01/wip-bluestore-onode-diet2

os/bluestore: reduce Onode in-memory footprint

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12555 from socketpair/usr_bin
Sage Weil [Mon, 19 Dec 2016 20:13:32 +0000 (14:13 -0600)]
Merge pull request #12555 from socketpair/usr_bin

systemd: Fix startup of ceph-mgr on Debian 8

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12355 from chhabaramesh/bit_alloc_mempool
Sage Weil [Mon, 19 Dec 2016 20:13:10 +0000 (14:13 -0600)]
Merge pull request #12355 from chhabaramesh/bit_alloc_mempool

os/bluestore: simplified allocator interfaces to single apis

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoqa/workunits: include extension for nose tests 12572/head
Sage Weil [Mon, 19 Dec 2016 19:08:11 +0000 (14:08 -0500)]
qa/workunits: include extension for nose tests

When you have a relative path you have to include the extension.
Weird.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12412 from ceph/wip-jlayton-suid
jtlayton [Mon, 19 Dec 2016 18:26:27 +0000 (13:26 -0500)]
Merge pull request #12412 from ceph/wip-jlayton-suid

client/mds: Clear setuid bits when writing or truncating

8 years agoClang/str_list.h: fix clang warning about std::move 12570/head
Willem Jan Withagen [Mon, 19 Dec 2016 16:29:38 +0000 (17:29 +0100)]
Clang/str_list.h: fix clang warning about std::move

/home/jenkins/workspace/ceph-master/src/include/str_list.h:99:10: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
  return std::move(str_vec);
         ^
/home/jenkins/workspace/ceph-master/src/include/str_list.h:99:10: note: remove std::move call here
  return std::move(str_vec);
         ^~~~~~~~~~       ~
1 warning generated.

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
8 years agoMerge pull request #12565 from trociny/wip-18247-fixup
Jason Dillaman [Mon, 19 Dec 2016 15:33:24 +0000 (10:33 -0500)]
Merge pull request #12565 from trociny/wip-18247-fixup

common: fix clang compilation error

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoos/bluestore: remove duplicate sbid member for Blob, use one from shared_blob member 12568/head
Igor Fedotov [Mon, 19 Dec 2016 14:37:06 +0000 (14:37 +0000)]
os/bluestore: remove duplicate sbid member for Blob, use one from shared_blob member
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
8 years agoos/bluestore: declare a member for Blob's cached bufferlist if explicitly enabled...
Igor Fedotov [Mon, 19 Dec 2016 14:00:05 +0000 (14:00 +0000)]
os/bluestore: declare a member for Blob's cached bufferlist if explicitly enabled by CACHE_BLOG_BL macro only

Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
8 years agoos/bluestore: recalculate shared blob key instead of keeping it in memory
Igor Fedotov [Mon, 19 Dec 2016 12:55:09 +0000 (12:55 +0000)]
os/bluestore: recalculate shared blob key instead of keeping it in memory
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
8 years agoos/bluestore: include modified objects in flush list even if onode unchanged 12541/head
Sage Weil [Mon, 19 Dec 2016 15:03:44 +0000 (10:03 -0500)]
os/bluestore: include modified objects in flush list even if onode unchanged

We use the onode flush list so that we can ->flush() as
a barrier before doing any read/modify/write.  For
example, omap_rmkeyrange will flush before reading to
see what keys to erase in order to ensure that any
previous inserts are applied to the db and we see them
and remove them.

However, some omap operations don't update the onode
itself, which means write_onode() doesn't get called and
we aren't put on this list.

Add a note_modified_object() helper that can be called
instead of write_onode() for those cases.  That way we
get on the list and flush() works as expected.

We could have resolved this by just putting ourselves on
the dirty onode list, but in practice every OSD op is
writing omap keys to the pgmeta object and there is no
need to touch the onode key in this case, so doing so
would be a big regression.

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