]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agocivetweb: update subproject 1680/head
Yehuda Sadeh [Thu, 10 Apr 2014 22:54:01 +0000 (15:54 -0700)]
civetweb: update subproject

Fixes: #7786
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agodoc/release-notes: note about emperor backport of mon auth fix
Sage Weil [Fri, 4 Apr 2014 19:59:41 +0000 (12:59 -0700)]
doc/release-notes: note about emperor backport of mon auth fix

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon: MonCommands.h: have 'auth' read-only operations require 'x' cap
Joao Eduardo Luis [Thu, 3 Apr 2014 17:21:08 +0000 (18:21 +0100)]
mon: MonCommands.h: have 'auth' read-only operations require 'x' cap

This reintroduces the same semantics that were in place in dumpling prior
to the refactoring of the cap/command matching code.

We haven't added this requirement to auth read-write operations as that
would have the potential to break a lot of well-configured keyrings once
the users upgraded, without any significant gain -- we assume that if
they have set 'rw' caps on a given entity, they are indeed expecting said
entity to be sort-of-privileged entities with regard to monitor access.

Fixes: #7919
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1602 from ceph/wip-cache-create-fix
Samuel Just [Fri, 4 Apr 2014 17:34:40 +0000 (10:34 -0700)]
Merge pull request #1602 from ceph/wip-cache-create-fix

ReplicatedPG: fix CEPH_OSD_OP_CREATE on cache pools

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: fix CEPH_OSD_OP_CREATE on cache pools 1602/head
Ilya Dryomov [Fri, 4 Apr 2014 13:40:29 +0000 (17:40 +0400)]
ReplicatedPG: fix CEPH_OSD_OP_CREATE on cache pools

The following

./ceph osd pool create data-cache 8 8
./ceph osd tier add data data-cache
./ceph osd tier cache-mode data-cache writeback
./ceph osd tier set-overlay data data-cache

./rados -p data create foo
./rados -p data stat foo

results in

  error stat-ing data/foo: No such file or directory

even though foo exists in the data-cache pool, as it should.  STAT
checks for (exists && !is_whiteout()), but the whiteout flag isn't
cleared on CREATE as it is on WRITE and WRITEFULL.  The problem is
that, for newly created 0-sized cache pool objects, CREATE handler in
do_osd_ops() doesn't get a chance to queue OP_TOUCH, and so the logic
in prepare_transaction() considers CREATE to be a read and therefore
doesn't clear whiteout.  Fix it by allowing CREATE handler to queue
OP_TOUCH at all times, mimicking WRITE and WRITEFULL behaviour.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoMerge pull request #1600 from ceph/wip-7922
Sage Weil [Fri, 4 Apr 2014 16:22:42 +0000 (09:22 -0700)]
Merge pull request #1600 from ceph/wip-7922

Wip 7922

Passes my manual testing and the new teuthology test case.

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoosd: Send REJECT to all previously acquired reservations 1600/head
David Zafman [Fri, 4 Apr 2014 05:13:17 +0000 (22:13 -0700)]
osd: Send REJECT to all previously acquired reservations

When getting a REJECT from a backfill target, tell already GRANTed targets to
go back to RepNotRecovering state by sending a REJECT to them.

Fixes: #7922
Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agodoc/release-notes: v0.79 release notes
Sage Weil [Fri, 4 Apr 2014 01:28:12 +0000 (18:28 -0700)]
doc/release-notes: v0.79 release notes

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoFix byte-order dependency in calculation of initial challenge
Dan Mick [Thu, 3 Apr 2014 20:59:59 +0000 (13:59 -0700)]
Fix byte-order dependency in calculation of initial challenge

Fixes: #7977
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1599 from ceph/wip-7978
Sage Weil [Fri, 4 Apr 2014 00:44:13 +0000 (17:44 -0700)]
Merge pull request #1599 from ceph/wip-7978

rgw: only look at next placement rule if we're not at the last rule

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agorgw: only look at next placement rule if we're not at the last rule 1599/head
Yehuda Sadeh [Thu, 3 Apr 2014 22:15:41 +0000 (15:15 -0700)]
rgw: only look at next placement rule if we're not at the last rule

Fixes: #7978
We tried to move to the next placement rule, but we were already at the
last one, so we ended up looping forever.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoosd: add 'osd debug reject backfill probability' option
Sage Weil [Thu, 3 Apr 2014 19:06:08 +0000 (12:06 -0700)]
osd: add 'osd debug reject backfill probability' option

This will make the OSD randomly reject backfill reservation requests.  This
exercises the failure code paths but does not break overall behavior
because the primary will back off and retry later.

This should help us reproduce #7922.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1598 from ceph/wip-test-alloc-hint-ec-fix
Sage Weil [Thu, 3 Apr 2014 18:45:21 +0000 (11:45 -0700)]
Merge pull request #1598 from ceph/wip-test-alloc-hint-ec-fix

qa: test_alloc_hint: set ec ruleset-failure-domain to osd

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1581 from ceph/wip-init
Sage Weil [Thu, 3 Apr 2014 18:44:29 +0000 (11:44 -0700)]
Merge pull request #1581 from ceph/wip-init

a few deb changes

11 years agoqa: test_alloc_hint: set ec ruleset-failure-domain to osd 1598/head
Ilya Dryomov [Thu, 3 Apr 2014 17:03:53 +0000 (21:03 +0400)]
qa: test_alloc_hint: set ec ruleset-failure-domain to osd

Create a custom profile with ruleset-failure-domain=osd.  (The default
ruleset-failure-domain=host won't do because this script assumes and
works only if all osds are on the same host.)  While at it, set k and m
explicitly to avoid troubles in the future.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoMerge pull request #1593 from dachary/wip-vstart-erasure-code-default
Sage Weil [Thu, 3 Apr 2014 16:57:49 +0000 (09:57 -0700)]
Merge pull request #1593 from dachary/wip-vstart-erasure-code-default

vstart: set a sensible default for ruleset-failure-domain

Reviewed-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoMerge pull request #1596 from ceph/wip-vstop-unmap
Sage Weil [Thu, 3 Apr 2014 16:57:04 +0000 (09:57 -0700)]
Merge pull request #1596 from ceph/wip-vstop-unmap

Unmap rbd images when stopping the whole cluster

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agostop.sh: unmap rbd images when stopping the whole cluster 1596/head
Ilya Dryomov [Tue, 1 Apr 2014 06:18:23 +0000 (10:18 +0400)]
stop.sh: unmap rbd images when stopping the whole cluster

Unmap rbd images when stopping the whole cluster.  Not doing so results
in images that cannot be unmapped until the same cluster is brought
back up.  Issue a warning if we failed to unmap all images.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agostop.sh: do not trace commands
Ilya Dryomov [Thu, 3 Apr 2014 14:11:49 +0000 (18:11 +0400)]
stop.sh: do not trace commands

Command tracing here doesn't bring any value and simply pollutes the
terminal, as the script always runs to completion.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agostop.sh: indent 4 spaces universally
Ilya Dryomov [Tue, 1 Apr 2014 06:18:23 +0000 (10:18 +0400)]
stop.sh: indent 4 spaces universally

Currently there is a mix between tabs and 4 spaces indent.  Switch to
4 spaces indent.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agovstart: set a sensible default for ruleset-failure-domain 1593/head
Loic Dachary [Thu, 3 Apr 2014 12:07:19 +0000 (14:07 +0200)]
vstart: set a sensible default for ruleset-failure-domain

Set ruleset-failure-domain=osd so that

  ./ceph osd pool create ecpool 12 12 erasure
  ./rados --pool ecpool put SOMETHING /etc/group

works by default. When using a vstart cluster the default failure
domain (host) won't work because all OSDs are in "localhost".

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1592 from ceph/wip-7965
Josh Durgin [Thu, 3 Apr 2014 00:03:09 +0000 (17:03 -0700)]
Merge pull request #1592 from ceph/wip-7965

lockdep: fix when instantiated multiple times (bug 7965)

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agolockdep: reset state on shutdown 1592/head
Sage Weil [Wed, 2 Apr 2014 23:43:10 +0000 (16:43 -0700)]
lockdep: reset state on shutdown

If we shut down, clear out all of the lockdep state.  This ensures that if
we start up again on another cct, we will not be confused by old type ids
and dependency state.

Possibly contributed to #7965.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agolockdep: do not initialize if already started
Sage Weil [Wed, 2 Apr 2014 23:46:30 +0000 (16:46 -0700)]
lockdep: do not initialize if already started

If we have already registered a cct for lockdep, do not accept another one.
We already check that the cct matches when we shut down.  This we will run
for the life span of a single cct and no longer.

Fixes: #7965
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1591 from ceph/wip-7915
Samuel Just [Wed, 2 Apr 2014 23:13:59 +0000 (16:13 -0700)]
Merge pull request #1591 from ceph/wip-7915

mon: bump snap_epoch when adding a tier (fixes 7915)

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoOSDMap: bump snap_epoch when adding a tier 1591/head
Sage Weil [Wed, 2 Apr 2014 23:03:37 +0000 (16:03 -0700)]
OSDMap: bump snap_epoch when adding a tier

When we make an existing pool a tier, we start copying the snap metadata
from the base tier.  That includes removed_snaps.  In order for the OSD
to recognize that this value is changing for the first time, we need to
set snap_epoch, or else the OSD doesn't update it's in-memory PGPool
with removed snaps and we eventually hit an assertion failure because
PGPool::cached_remove_snaps is incorrect (e.g., empty).

Fix this by bumping snap_epoch when we add the new tier.

Fixes: #7915
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1580 from ceph/wip-7937
Samuel Just [Wed, 2 Apr 2014 22:15:56 +0000 (15:15 -0700)]
Merge pull request #1580 from ceph/wip-7937

osd: fix scrub logic for snapdir object

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoReplicatedPG::_scrub: don't bail early for snapdir 1580/head
Samuel Just [Wed, 2 Apr 2014 17:11:02 +0000 (10:11 -0700)]
ReplicatedPG::_scrub: don't bail early for snapdir

Fixes: #7937
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agodebian: fix control to allow upgrades 1581/head
Mohammad Salehe [Wed, 2 Apr 2014 15:25:37 +0000 (19:55 +0430)]
debian: fix control to allow upgrades

Signed-off-by: Mohammad Salehe <salehe+dev@gmail.com>
11 years agoMerge pull request #1590 from ceph/wip-7939
Sage Weil [Wed, 2 Apr 2014 17:52:11 +0000 (10:52 -0700)]
Merge pull request #1590 from ceph/wip-7939

PG: set role for replicated even if role != shard

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1579 from ceph/wip-7907
Samuel Just [Wed, 2 Apr 2014 17:35:38 +0000 (10:35 -0700)]
Merge pull request #1579 from ceph/wip-7907

osd/ReplicatedPG: mark_unrollbackable when _rollback_to head

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agodebian: move rbdmap config and sysvinit/upstart scripts into ceph-common
Sage Weil [Tue, 1 Apr 2014 21:39:02 +0000 (14:39 -0700)]
debian: move rbdmap config and sysvinit/upstart scripts into ceph-common

Fixes: #7171
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1586 from ceph/wip-dirfrag
Sage Weil [Wed, 2 Apr 2014 15:44:33 +0000 (08:44 -0700)]
Merge pull request #1586 from ceph/wip-dirfrag

mds: fix check for merging/spliting dirfrag

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1587 from onlyjob/debian
Sage Weil [Wed, 2 Apr 2014 15:43:02 +0000 (08:43 -0700)]
Merge pull request #1587 from onlyjob/debian

init.d: correcting rbdmap LSB header / init order:

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoinit.d: correcting rbdmap init order: 1587/head
Dmitry Smirnov [Wed, 2 Apr 2014 14:23:19 +0000 (01:23 +1100)]
init.d: correcting rbdmap init order:

 * Require "$remote_fs" since it guarantees /usr availability
   (rbd executable is in /usr/bin/rbd)
 * Speed-up init.d rbd mapping on machines acting as MON/OSD
   by starting rbdmap after /init.d/ceph (when possible) and
   shutting down rbd before ceph.
 * Map rbd devices before starting X (helpful when /home is mounted from rbd).

11 years agomds: fix check for merging/spliting dirfrag 1586/head
Yan, Zheng [Wed, 2 Apr 2014 05:24:37 +0000 (13:24 +0800)]
mds: fix check for merging/spliting dirfrag

check actual number of items instead of number of cached items

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoMerge pull request #1583 from ceph/wip-largedir
Sage Weil [Wed, 2 Apr 2014 04:47:51 +0000 (21:47 -0700)]
Merge pull request #1583 from ceph/wip-largedir

Wip largedir

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomds: ignore CDir::check_rstats() when debug_scatterstat is off 1583/head
Yan, Zheng [Tue, 1 Apr 2014 14:42:14 +0000 (22:42 +0800)]
mds: ignore CDir::check_rstats() when debug_scatterstat is off

It uses lots of CPU when dirfrag is large

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: initialize bloom filter according to dirfrag size
Yan, Zheng [Wed, 2 Apr 2014 01:33:37 +0000 (09:33 +0800)]
mds: initialize bloom filter according to dirfrag size

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: add dentries in dirfrag to LRU in reverse order
Yan, Zheng [Tue, 1 Apr 2014 13:08:02 +0000 (21:08 +0800)]
mds: add dentries in dirfrag to LRU in reverse order

Files in a dirfrag are usually processed in the order of readdir
results. Files at the beginning of are more likely to be used in
the future than files at the last.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoMerge pull request #1584 from ceph/wip-multimds
Sage Weil [Wed, 2 Apr 2014 04:01:07 +0000 (21:01 -0700)]
Merge pull request #1584 from ceph/wip-multimds

Wip multimds

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomds: handle freeze authpin race 1584/head
Yan, Zheng [Tue, 1 Apr 2014 03:19:10 +0000 (11:19 +0800)]
mds: handle freeze authpin race

For across authority rename, the MDS first freezes the source inode's
authpin. It happens while the source dentry isn't locked. So when the
inode's authpin become frozen, the source dentry may have changed and
be linked to a different inode.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: treat cluster as degraded when there is clientreplay MDS
Yan, Zheng [Tue, 1 Apr 2014 02:10:28 +0000 (10:10 +0800)]
mds: treat cluster as degraded when there is clientreplay MDS

This forbids exporting subtrees and fragmenting dirfrags when there
is MDS in clientreplay state. During replaying client requests, the
MDS may need to authpin some remote objects. Exporting subtrees and
fragmenting dirfrags slow down replaying client requests.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: don't start new segment while finishing disambiguate imports
Yan, Zheng [Mon, 31 Mar 2014 01:46:58 +0000 (09:46 +0800)]
mds: don't start new segment while finishing disambiguate imports

This avoid inserting ESubtreeMap among EImportFinish events that
finish disambiguate imports. Because the ESubtreeMap reflects the
subtree state when all EImportFinish events are replayed.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: trim non-auth subtree more aggressively
Yan, Zheng [Mon, 31 Mar 2014 01:20:30 +0000 (09:20 +0800)]
mds: trim non-auth subtree more aggressively

When a non-auth dirfrag is pinned by uncommitted slave update,
there still can be non-auth child dirfrags that are trimmable.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agodebian: make ceph-common own etc/ceph, var/log/ceph
Sage Weil [Tue, 1 Apr 2014 21:38:05 +0000 (14:38 -0700)]
debian: make ceph-common own etc/ceph, var/log/ceph

Clients can make use of these directories, and ceph-common is required by
ceph, so nothing should break here.

Change the purge postrm script to be for ceph-common (it does nothing else).

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: mark_unrollbackable when _rollback_to head 1579/head
Sage Weil [Tue, 1 Apr 2014 21:27:31 +0000 (14:27 -0700)]
osd/ReplicatedPG: mark_unrollbackable when _rollback_to head

We fell into the case in _rollback_to where we just set ctx->modify = true
and don't explicitly mark the ctx and unrollbackable.  Later, we screw up
in proc_replica_log as a result because we think we can rollback this
update to the head when in reality we cannot.

Fixes: #7907
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1578 from ceph/wip-7437
Samuel Just [Tue, 1 Apr 2014 20:58:10 +0000 (13:58 -0700)]
Merge pull request #1578 from ceph/wip-7437

wip-7437

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agodebian: move ceph-rest-api from ceph-common to ceph
Sage Weil [Sat, 1 Mar 2014 20:07:34 +0000 (12:07 -0800)]
debian: move ceph-rest-api from ceph-common to ceph

ceph-rest-api is a 'server' thing that runs persistently; 'ceph' is a
better match.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1577 from ceph/wip-7935
Josh Durgin [Tue, 1 Apr 2014 19:38:46 +0000 (12:38 -0700)]
Merge pull request #1577 from ceph/wip-7935

rgw: reverse logic to identify next part

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoPG: set role for replicated even if role != shard 1590/head
Samuel Just [Tue, 1 Apr 2014 19:19:52 +0000 (12:19 -0700)]
PG: set role for replicated even if role != shard

Fixes: #7939
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agotest: Add EC testing to ceph_test_rados_api_snaphots 1578/head
David Zafman [Mon, 31 Mar 2014 21:09:26 +0000 (14:09 -0700)]
test: Add EC testing to ceph_test_rados_api_snaphots

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Add EC testing to ceph_test_rados_api_lock
David Zafman [Sat, 29 Mar 2014 00:48:15 +0000 (17:48 -0700)]
test: Add EC testing to ceph_test_rados_api_lock

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Add EC testing to ceph_test_rados_api_tier
David Zafman [Fri, 28 Mar 2014 22:07:08 +0000 (15:07 -0700)]
test: Add EC testing to ceph_test_rados_api_tier

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Add EC to ceph_test_rados_api_watch_notify
David Zafman [Fri, 28 Mar 2014 21:15:43 +0000 (14:15 -0700)]
test: Add EC to ceph_test_rados_api_watch_notify

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Add EC testing to ceph_test_rados_api_stat
David Zafman [Fri, 28 Mar 2014 21:12:15 +0000 (14:12 -0700)]
test: Add EC testing to ceph_test_rados_api_stat

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Add EC testing to ceph_test_rados_api_list
David Zafman [Fri, 28 Mar 2014 21:05:00 +0000 (14:05 -0700)]
test: Add EC testing to ceph_test_rados_api_list

Fixes: #7437
Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Add EC testing to ceph_test_rados_api_io
David Zafman [Fri, 28 Mar 2014 22:35:29 +0000 (15:35 -0700)]
test: Add EC testing to ceph_test_rados_api_io

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Add EC test classes RadosTestEC and RadosTestECPP
David Zafman [Fri, 28 Mar 2014 22:35:46 +0000 (15:35 -0700)]
test: Add EC test classes RadosTestEC and RadosTestECPP

Fixes: #7437
Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Fix ceph_test_rados_list_parallel to clean up test pool
David Zafman [Tue, 1 Apr 2014 06:51:04 +0000 (23:51 -0700)]
test: Fix ceph_test_rados_list_parallel to clean up test pool

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Fix ceph_test_rados_api_aio to clean up all test pools
David Zafman [Tue, 1 Apr 2014 06:03:53 +0000 (23:03 -0700)]
test: Fix ceph_test_rados_api_aio to clean up all test pools

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Cleanup pools when FlushWriteRaces is done
David Zafman [Sat, 29 Mar 2014 00:22:47 +0000 (17:22 -0700)]
test: Cleanup pools when FlushWriteRaces is done

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agolibrados: Add missing C variants for alignment
David Zafman [Thu, 27 Mar 2014 23:35:41 +0000 (16:35 -0700)]
librados: Add missing C variants for alignment

Add rados_ioctx_pool_requires_alignment()
Add rados_ioctx_pool_required_alignment()

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agolibrados: Add missing rados_wait_for_latest_osdmap()
David Zafman [Thu, 27 Mar 2014 22:10:38 +0000 (15:10 -0700)]
librados: Add missing rados_wait_for_latest_osdmap()

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd/ReplicatedPG: continue scrub logic when snapset.head_exists doesn't match
Sage Weil [Tue, 1 Apr 2014 18:02:42 +0000 (11:02 -0700)]
osd/ReplicatedPG: continue scrub logic when snapset.head_exists doesn't match

The 'continue' will cause more damange/noise than continuing because the
next_clone value won't be updated properly.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: handle snapdir properly during scrub
Sage Weil [Tue, 1 Apr 2014 18:04:47 +0000 (11:04 -0700)]
osd/ReplicatedPG: handle snapdir properly during scrub

Handle snapdir similarly to how head is treated when updating the
next_clone info.  Also, add a warning when we have a snapdir object and
head_exists == true (the converse of the existing check).

Fixes: #7937
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agorgw: reverse logic to identify next part 1577/head
Yehuda Sadeh [Tue, 1 Apr 2014 17:51:20 +0000 (10:51 -0700)]
rgw: reverse logic to identify next part

Fixes: #7935
The check that identifies whether we need to move to the next part when
iterating over an object was reversed.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #1575 from jdurgin/wip-librbd-cp-sparse
Sage Weil [Tue, 1 Apr 2014 01:15:12 +0000 (18:15 -0700)]
Merge pull request #1575 from jdurgin/wip-librbd-cp-sparse

librbd: skip zeroes when copying an image

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoosd/PG: debug cached_removed_snaps changes
Sage Weil [Mon, 31 Mar 2014 22:29:00 +0000 (15:29 -0700)]
osd/PG: debug cached_removed_snaps changes

See #7915.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1574 from mikenel/master
Sage Weil [Mon, 31 Mar 2014 22:19:57 +0000 (15:19 -0700)]
Merge pull request #1574 from mikenel/master

Add ceph-client-debug and jerasure shared objects to RPM spec file.

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agolibrbd: skip zeroes when copying an image 1575/head
Josh Durgin [Mon, 31 Mar 2014 21:53:31 +0000 (14:53 -0700)]
librbd: skip zeroes when copying an image

This is the simple coarse-grained solution, but it works well in
common cases like a small base image resized with a bunch of empty
space at the end. Finer-grained sparseness can be copied by using rbd
{export,import}-diff.

Fixes: #6257
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #1573 from ceph/wip-7912
Sage Weil [Mon, 31 Mar 2014 21:59:38 +0000 (14:59 -0700)]
Merge pull request #1573 from ceph/wip-7912

mon/PGMap: clear pool sum when last pg is deleted

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1556 from ceph/wip-7888
Sage Weil [Mon, 31 Mar 2014 21:57:57 +0000 (14:57 -0700)]
Merge pull request #1556 from ceph/wip-7888

msgr: add new ping/ping reply to use in place of keepalive

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1566 from ceph/wip-fuse-access
Sage Weil [Mon, 31 Mar 2014 21:56:13 +0000 (14:56 -0700)]
Merge pull request #1566 from ceph/wip-fuse-access

fuse: implement 'access' low level function

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoqa/workunits/cephtool/test.sh: test 'osd pg-temp ...'
Sage Weil [Sat, 29 Mar 2014 17:46:16 +0000 (10:46 -0700)]
qa/workunits/cephtool/test.sh: test 'osd pg-temp ...'

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: clear primary_temp on osd pg_temp updates
Sage Weil [Sat, 29 Mar 2014 00:54:17 +0000 (17:54 -0700)]
mon/OSDMonitor: clear primary_temp on osd pg_temp updates

Until the OSD and the MOSDPGTemp messages encode primary_temp updates,
assume that any pg_temp update will clear primary_temp.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoOSDMonitor: add 'mon osd allow primary temp' bool option
Ilya Dryomov [Fri, 28 Mar 2014 16:28:44 +0000 (18:28 +0200)]
OSDMonitor: add 'mon osd allow primary temp' bool option

By default, we don't send out maps with primary_temp mappings because
there is no infrastructure in place that would make sure that the
entire cluster knows about primary_temp.  Add an option to allow
primary_temp mappings, for development purposes.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoOSDMonitor: add 'osd primary-temp ...' command
Ilya Dryomov [Fri, 28 Mar 2014 16:28:44 +0000 (18:28 +0200)]
OSDMonitor: add 'osd primary-temp ...' command

ceph osd primary-temp <pgid> [<osd>]

Examples:

ceph osd primary-temp 0.2 4 # set primary_temp mapping for 0.2 to osd4
ceph osd primary-temp 0.2   # remove primary_temp mapping for 0.2

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoOSDMonitor: add 'osd pg-temp ...' command
Ilya Dryomov [Fri, 28 Mar 2014 16:28:44 +0000 (18:28 +0200)]
OSDMonitor: add 'osd pg-temp ...' command

ceph osd pg-temp <pgid> [<osd1> [<osd2> ...]]

Examples:

ceph osd pg-temp 0.2 0 1 2 # set pg_temp mapping for 0.2 to osds [0,1,2]
ceph osd pg-temp 0.2 3     # set pg_temp mapping for 0.2 to osds [3]
ceph osd pg-temp 0.2       # remove pg_temp mapping for 0.2

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agojava/test: ceph.file.layout xattr is still not there now
Greg Farnum [Mon, 31 Mar 2014 20:17:22 +0000 (13:17 -0700)]
java/test: ceph.file.layout xattr is still not there now

b8ea65694faf59f12f285a65dc21753dab20ba11 tried to fix this, but
missed a spot.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1567 from ceph/wip-7849
Josh Durgin [Mon, 31 Mar 2014 19:40:35 +0000 (12:40 -0700)]
Merge pull request #1567 from ceph/wip-7849

ceph-conf: don't create log files

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #1570 from dachary/wip-gitignore
Josh Durgin [Mon, 31 Mar 2014 19:36:07 +0000 (12:36 -0700)]
Merge pull request #1570 from dachary/wip-gitignore

.gitignore: add examples/librados files

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoAdd ceph-client-debug and jerasure shared objects to RPM spec file. 1574/head
Michael Nelson [Mon, 31 Mar 2014 19:35:56 +0000 (12:35 -0700)]
Add ceph-client-debug and jerasure shared objects to RPM spec file.

11 years agomon/PGMap: clear pool sum when last pg is deleted 1573/head
Sage Weil [Mon, 31 Mar 2014 17:42:23 +0000 (10:42 -0700)]
mon/PGMap: clear pool sum when last pg is deleted

Use the x.0 pg as a sentinel for the existence of the pool.  Note that we
have to clean in up two paths: apply_incrmenetal (which is actually
deprecated) and the normal PGMonitor refresh.

Fixes: #7912
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1572 from ceph/wip-ec-profile-idempotent
Sage Weil [Mon, 31 Mar 2014 17:18:58 +0000 (10:18 -0700)]
Merge pull request #1572 from ceph/wip-ec-profile-idempotent

mon: make 'ceph osd erasure-code-profile set ...' idempotent

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: make 'ceph osd erasure-code-profile set ...' idempotent 1572/head
Sage Weil [Mon, 31 Mar 2014 17:01:43 +0000 (10:01 -0700)]
mon: make 'ceph osd erasure-code-profile set ...' idempotent

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoqa/workunits/rados/test_alloc_hint: fix erasure syntax
Sage Weil [Mon, 31 Mar 2014 16:14:36 +0000 (09:14 -0700)]
qa/workunits/rados/test_alloc_hint: fix erasure syntax

This changed recently.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1571 from kotnik/docufix
Loic Dachary [Mon, 31 Mar 2014 14:27:43 +0000 (16:27 +0200)]
Merge pull request #1571 from kotnik/docufix

Small glossary typo fix

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agodoc: fix typos in glossary 1571/head
Nikola Kotur [Mon, 31 Mar 2014 14:24:17 +0000 (16:24 +0200)]
doc: fix typos in glossary

11 years ago.gitignore: add examples/librados files 1570/head
Loic Dachary [Mon, 31 Mar 2014 09:30:10 +0000 (11:30 +0200)]
.gitignore: add examples/librados files

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1564 from dachary/wip-erasure-code-doc
Sage Weil [Sun, 30 Mar 2014 16:20:58 +0000 (09:20 -0700)]
Merge pull request #1564 from dachary/wip-erasure-code-doc

doc: updates to the erasure code development docs

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1568 from dachary/wip-jerasure-warnings
Sage Weil [Sun, 30 Mar 2014 16:17:21 +0000 (09:17 -0700)]
Merge pull request #1568 from dachary/wip-jerasure-warnings

erasure-code: update jerasure / gf-complete submodules

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1569 from dachary/wip-ssse3
Sage Weil [Sun, 30 Mar 2014 16:16:44 +0000 (09:16 -0700)]
Merge pull request #1569 from dachary/wip-ssse3

autotools: s/ssse3/sse3/ typo

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoautotools: s/ssse3/sse3/ typo 1569/head
Loic Dachary [Sun, 30 Mar 2014 15:57:22 +0000 (17:57 +0200)]
autotools: s/ssse3/sse3/ typo

Reported-by: Justin Erenkrantz <justin@erenkrantz.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoerasure-code: update jerasure / gf-complete submodules 1568/head
Loic Dachary [Sun, 30 Mar 2014 09:07:46 +0000 (11:07 +0200)]
erasure-code: update jerasure / gf-complete submodules

For compilation warning patches.

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

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc: pgbackend dev doc outdated notice 1564/head
Loic Dachary [Sat, 29 Mar 2014 10:30:42 +0000 (11:30 +0100)]
doc: pgbackend dev doc outdated notice

* Warn the reader that the implementation is ahead and may differ
* Update the links to the Firefly branch
* Remove links to issues used during development to avoid confusion

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc: update jerasure plugin
Loic Dachary [Sat, 29 Mar 2014 10:29:22 +0000 (11:29 +0100)]
doc: update jerasure plugin

* The parameters come from the erasure code profile
* Add a note about the upstream submodules gf-complete / jerasure

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc: erasure code developer notes updates
Loic Dachary [Sat, 29 Mar 2014 10:27:00 +0000 (11:27 +0100)]
doc: erasure code developer notes updates

Update the introduction to explain erasure code profiles. Remove
obsolete explanations about partial writes etc. Remove links to tickets
used during development. Update permalinks to be closer to
Firefly (v0.78).

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agofuse: implement 'access' low level function 1566/head
Yan, Zheng [Sun, 30 Mar 2014 01:21:57 +0000 (09:21 +0800)]
fuse: implement 'access' low level function

Add an empty 'access' function to fuse low level functions. This
allow us to use ceph-fuse with fuse_default_permissions = false.
'fuse_default_permissions = false' can significantly improve the
speed of create/removing large number of files.

When fuse_default_permissions is true, the fuse kernel module sends
a getattr request whenever the kernel needs to check a directory's
permission. getattr (STAT_CAP_INODE_ALL) can be very slow if the
directory was just modified.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoosd/ReplicatedPG: fix cache tier scrub again
Sage Weil [Sun, 30 Mar 2014 05:28:13 +0000 (22:28 -0700)]
osd/ReplicatedPG: fix cache tier scrub again

This condition was flipped from commit eb71924ea27e78d97bd45674ef5e6a7f
and the test case in c3292e48483d861148322590ea1f05afd28cc2d3 still didn't
catch it.  (It does now.)

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