]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Thu, 12 Dec 2013 00:13:51 +0000 (16:13 -0800)]
doc/release-notes: sort
meh
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Thu, 12 Dec 2013 00:11:00 +0000 (16:11 -0800)]
doc/release-notes: fix indentation; sigh
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Wed, 11 Dec 2013 23:59:45 +0000 (15:59 -0800)]
doc/release-notes: v0.73
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Wed, 11 Dec 2013 23:39:37 +0000 (15:39 -0800)]
PendingReleaseNotes: note CRUSH and hashpspool default changes
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Wed, 11 Dec 2013 23:37:46 +0000 (15:37 -0800)]
Merge pull request #930 from ceph/wip-hashpspool
enable hashpspool by default
Reviewed-by: Samuel Just <sam.just@inktank.com>
Greg Farnum [Wed, 11 Dec 2013 22:17:25 +0000 (14:17 -0800)]
Revert "Partial revert "mon: osd pool set syntax relaxed, modify unit tests""
This reverts commit
e80ab94bf44e102fcd87d16dc11e38ca4c0eeadb .
We accept non-CephInt arguments again, now that we've got the monitors
handling differing APIs intelligently.
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Sage Weil [Wed, 4 Dec 2013 05:39:03 +0000 (21:39 -0800)]
mon/OSDMonitor: take 'osd pool set ...' value as a string again
We ran into problems before when we made this a string because a mixed
cluster of mons might forward a client request with the wrong schema.
To make this work, we make the new code understand both the new and
old schema, and also backport a change to emperor and dumpling to
handle the new schema.
For the previous attempt to do this, see:
337195f04653eed8e8f153a5b074f3bd48408998
2fe0d0d97af95c22db80800f5b9da51f672d9407
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Gregory Farnum [Wed, 11 Dec 2013 21:27:03 +0000 (13:27 -0800)]
Merge pull request #925 from ceph/wip-mon-api
Merge in changes to unify the API presented by the monitors and handle changes gracefully.
(Upgrade tests) Tested-by: Tamil Muthamizhan <tamil.muthamizhan@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Sage Weil [Wed, 11 Dec 2013 19:19:37 +0000 (11:19 -0800)]
osd: enable HASHPSPOOL by default
Much like the CRUSH tunables, this first appears in kernel v3.9.
Unlike the CRUSH tunables, it does not appear in Ceph until v0.64
(post cuttlefish, pre dumpling).
Signed-off-by: Sage Weil <sage@inktank.com>
Greg Farnum [Tue, 10 Dec 2013 19:33:51 +0000 (11:33 -0800)]
mon: if we're the leader, don't validate command matching
Classic-format commands never match our leader command set!
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Tue, 10 Dec 2013 18:56:33 +0000 (10:56 -0800)]
mon: by default, warn if some members of the quorum are "classic"
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Tue, 10 Dec 2013 23:51:39 +0000 (15:51 -0800)]
MemStore: update for the new ObjectStore interface
68fdcfa1cc249af859400a2ce4590fefbb2f525b changed the ObjectStore
interface in the 'next' branch, which was merged into master by
e5a02c33e23e4fbdc7bf0f16a5bbff61f4e37186 . Unfortunately the
Memstore (added via the master branch) was not corrected for this
interface change.
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
Gary Lowell [Tue, 10 Dec 2013 21:00:14 +0000 (21:00 +0000)]
Merge branch 'next'
Gregory Farnum [Tue, 10 Dec 2013 20:25:07 +0000 (12:25 -0800)]
Merge pull request #927 from dachary/wip-crush-test
crush: remove crushtool test leftover
Loic Dachary [Tue, 10 Dec 2013 19:35:34 +0000 (20:35 +0100)]
crush: remove crushtool test leftover
Signed-off-by: Loic Dachary <loic@dachary.org>
Sage Weil [Tue, 10 Dec 2013 19:10:41 +0000 (11:10 -0800)]
Merge pull request #920 from dachary/wip-man
man: Ceph is also an object store
Reviewed-by: Sage Weil <sage@inktank.com>
Greg Farnum [Tue, 10 Dec 2013 18:23:03 +0000 (10:23 -0800)]
Elector: use monitor's encoded command sets instead of our own
Signed-off-by: Greg Farnum <greg@inktank.com>
scuttlemonkey [Tue, 10 Dec 2013 18:14:59 +0000 (10:14 -0800)]
Merge pull request #865 from ceph/wip-doc-build-cluster
Wip doc build cluster
Greg Farnum [Tue, 10 Dec 2013 18:06:36 +0000 (10:06 -0800)]
Monitor: encode and expose mon command sets
Signed-off-by: Greg Farnum <greg@inktank.com>
Loic Dachary [Sat, 7 Dec 2013 21:07:38 +0000 (22:07 +0100)]
man: update man/ from doc/man/8
As explained in admin/manpage-howto.txt
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Sat, 7 Dec 2013 20:52:16 +0000 (21:52 +0100)]
man: Ceph is also an object store
Replace
Ceph distributed file system
with
Ceph distributed storage system
to help reduce the idea that Ceph is just a file system.
Signed-off-by: Loic Dachary <loic@dachary.org>
Sage Weil [Tue, 10 Dec 2013 17:06:31 +0000 (09:06 -0800)]
Merge pull request #923 from dachary/wip-crush-test
CrushTester patches and documentation
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 10 Dec 2013 16:56:35 +0000 (08:56 -0800)]
os/MemStore: do on_apply_sync callback synchronously
We can easily deadlock if we put this in the Finisher thread behind other
work; do it synchronously!
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
Gary Lowell [Tue, 10 Dec 2013 04:55:36 +0000 (04:55 +0000)]
v0.73
Greg Farnum [Mon, 9 Dec 2013 23:30:57 +0000 (15:30 -0800)]
Elector: keep a list of classic mons instead of each mon's commands
We aren't actually using the sets, so don't bother keeping them.
Signed-off-by: Greg Farnum <greg@inktank.com>
Loic Dachary [Mon, 9 Dec 2013 13:35:00 +0000 (14:35 +0100)]
crush: implement --show-bad-mappings for indep
Support the presence of ITEM_NONE device numbers in the indep mapping as
proof of a bad mapping. Implement the associated unit tests.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Mon, 9 Dec 2013 13:08:14 +0000 (14:08 +0100)]
crush: add unitest for crushtool --show-bad-mappings
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Sun, 8 Dec 2013 21:39:18 +0000 (22:39 +0100)]
crush: remove scary message string
The string is no longer used and can be removed.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Sun, 8 Dec 2013 21:03:33 +0000 (22:03 +0100)]
crush: document the --test mode of operations
Signed-off-by: Loic Dachary <loic@dachary.org>
Greg Farnum [Mon, 9 Dec 2013 16:44:05 +0000 (08:44 -0800)]
Monitor: Elector: share the classic command set if we have a classic mon
The leader now checks to see if any monitors did not provide their
command set, and if so, shares the list of "classic" commands instead
of his own set. This will prevent users from seeing different commands
(depending on whether they connect to an old or new mon) while
performing upgrades, and will make it really obvious if they forgot
to upgrade one of the monitors!
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Mon, 9 Dec 2013 16:41:54 +0000 (08:41 -0800)]
Elector: share local command set when deferring
We're about to use this at a basic level, to identify when we have
"classic" monitors in-quorum, but could also do something more
sophisticated like a set intersection on the commands.
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Mon, 9 Dec 2013 06:17:39 +0000 (22:17 -0800)]
Monitor: import MonCommands.h from original Dumpling and expose it
If the Elector doesn't receive a set of commands from the elected leader, it
assumes the monitor is "classic" and uses the Dumpling command set as
the leader set.
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Sat, 7 Dec 2013 03:08:13 +0000 (19:08 -0800)]
Monitor: validate incoming commands against the leader's set too
Then check against our own, and forward if we don't recognize it
or for some reason don't match.
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Fri, 6 Dec 2013 22:55:13 +0000 (14:55 -0800)]
Monitor: disseminate leader's command set instead of our own
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Fri, 6 Dec 2013 22:08:48 +0000 (14:08 -0800)]
Elector: transmit local api on election win, accept leader's on loss
If we're the leader, just point to our local set. Disseminating these
will let peons advertise the full command set supported by the leader.
INCOMPLETE: does not yet handle winning Electors who do not send a command set.
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Fri, 6 Dec 2013 21:13:03 +0000 (13:13 -0800)]
messages: make room for passing supported monitor commands in MMonElection
We're going to use this space to let leader tell everybody what
commands it supports.
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Sat, 7 Dec 2013 00:09:36 +0000 (16:09 -0800)]
Monitor: pull command mapping out of _allowed_command()
We want to be able to validate commands against both the leader and
local command sets, so make that functionality generic.
Signed-off-by: Greg Farnum <greg@inktank.com>
Sage Weil [Mon, 9 Dec 2013 19:16:49 +0000 (11:16 -0800)]
Merge pull request #918 from ceph/port/misc
Misc portability patches
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Mon, 9 Dec 2013 16:28:43 +0000 (08:28 -0800)]
Merge pull request #922 from dachary/wip-crush-choose-tries
crush: fix map->choose_tries boundary test
Reviewed-by: Sage Weil <sage@inktank.com>
Loic Dachary [Sun, 8 Dec 2013 18:45:28 +0000 (19:45 +0100)]
crush: --show-utilization* implies --show-statistics
--show-utilization* outputs only if --show-statistics is set, which is
confusing. Instead of failing, set --show-statistics to avoid the
confusion.
Signed-off-by: Loic Dachary <loic@dachary.org>
Greg Farnum [Fri, 6 Dec 2013 21:55:38 +0000 (13:55 -0800)]
Monitor: add a separate leader_supported_commands
This isn't used yet, but will be shortly.
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Fri, 6 Dec 2013 21:48:42 +0000 (13:48 -0800)]
Monitor: expose local monitor commands to other compilation units
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Sat, 7 Dec 2013 02:19:32 +0000 (18:19 -0800)]
MonCommand: add operator== and operator!=
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Fri, 6 Dec 2013 21:51:51 +0000 (13:51 -0800)]
MonCommand: support encode/decode
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Sat, 7 Dec 2013 02:19:13 +0000 (18:19 -0800)]
encoding: fix [encode|decode]_array_nohead
We want to actually encode each element and keep it, rather than
writing each one at the position after the array end!
Signed-off-by: Greg Farnum <greg@inktank.com>
Loic Dachary [Sun, 8 Dec 2013 18:39:16 +0000 (19:39 +0100)]
crush: add CrushTester accessors
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Sun, 8 Dec 2013 16:57:25 +0000 (17:57 +0100)]
crush: output --show-bad-mappings on err
Instead of using stdout so that it displays well when used in
conjunction with --show-statistics
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Sun, 8 Dec 2013 13:38:59 +0000 (14:38 +0100)]
crush: fix map->choose_tries boundary test
CrushWrapper::start_choose_profile allocates map->choose_tries with
choose_total_tries elements. When crush_choose_firstn sets a value, it
tests against map->choose_local_tries which could lead to memory
corruption if map->choose_total_tries is smaller than
map->choose_local_tries.
Another indesirable but non fatal side effect is that the output crushtool
--show-choose-tries will be truncated to choose_local_tries which is
set to a lower value than choose_total_tries by the default tuneables.
Signed-off-by: Loic Dachary <loic@dachary.org>
Sage Weil [Sun, 8 Dec 2013 04:59:22 +0000 (20:59 -0800)]
Merge pull request #869 from ceph/wip-crush
crush changes for erasure coding
Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Samuel Just <sam.just@inktank.com>
Noah Watkins [Sat, 7 Dec 2013 17:58:43 +0000 (09:58 -0800)]
librbd: remove unused private variable
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Noah Watkins [Sat, 7 Dec 2013 17:54:53 +0000 (09:54 -0800)]
TrackedOp: remove unused private variable
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Noah Watkins [Sat, 7 Dec 2013 17:59:13 +0000 (09:59 -0800)]
librbd: rename howmany to avoid conflict
A howmany macro exists on some platforms in standard headers, but there
really isn't any sort of standard that I've found. We just avoid the
conflict entirely this way.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Sage Weil [Sat, 7 Dec 2013 22:01:14 +0000 (14:01 -0800)]
Merge pull request #917 from ceph/port/compat
compat: define replacement TEMP_FAILURE_RETRY
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Sat, 7 Dec 2013 22:00:40 +0000 (14:00 -0800)]
Merge pull request #919 from ceph/port/fdatasync
wbthrottle: use feature check for fdatasync
Reviewed-by: Sage Weil <sage@inktank.com>
Noah Watkins [Sun, 29 Sep 2013 18:32:29 +0000 (11:32 -0700)]
wbthrottle: use feature check for fdatasync
Checking for fdatasync uses the same approach as the qemu configure
script. The relevant commit is
d1722a27f552a22561104210e0afad4577878e53 .
Here is a copy of the commit message which explains the check:
Under Darwin, a symbol exists for the fdatasync() function, so that our
link test succeeds. However _POSIX_SYNCHRONIZED_IO is set to '-1'.
According to POSIX:2008, a value of -1 means the feature is not
supported.
A value of 0 means supported at compilation time, and a value greater 0
means supported at both compilation and run time.
Enable fdatasync() only if _POSIX_SYNCHRONIZED_IO is '>0'.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Noah Watkins [Sat, 7 Dec 2013 17:59:39 +0000 (09:59 -0800)]
rados_sync: fix mismatched tag warning
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Noah Watkins [Sat, 7 Dec 2013 18:01:30 +0000 (10:01 -0800)]
rados_sync: remove unused private variable
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Noah Watkins [Fri, 27 Sep 2013 14:38:11 +0000 (07:38 -0700)]
mon: check for sys/vfs.h existence
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Noah Watkins [Tue, 29 Oct 2013 15:54:01 +0000 (08:54 -0700)]
make: increase maximum template recursion depth
With clang on OSX spirit blows up without this.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Noah Watkins [Sun, 22 Sep 2013 18:02:34 +0000 (11:02 -0700)]
compat: define replacement TEMP_FAILURE_RETRY
Not all platforms have it.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Sage Weil [Sat, 7 Dec 2013 00:56:10 +0000 (16:56 -0800)]
Merge remote-tracking branch 'gh/wip-fix-3x'
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Sage Weil [Sat, 7 Dec 2013 00:55:54 +0000 (16:55 -0800)]
Merge remote-tracking branch 'gh/wip-fix-tunables'
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Sage Weil [Sat, 7 Dec 2013 00:03:21 +0000 (16:03 -0800)]
crush/CrushCompiler: make current set of tunables 'safe'
We can reenable this error the next time we add new tunables.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sat, 7 Dec 2013 00:20:23 +0000 (16:20 -0800)]
crushtool: remove scary tunables messages
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sat, 7 Dec 2013 00:18:04 +0000 (16:18 -0800)]
crush/CrushCompiler: start with legacy tunables when compiling
Ensure that a crush file always compiled deterministically, even though
the default values for *new* maps has changed.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sat, 7 Dec 2013 00:04:55 +0000 (16:04 -0800)]
crush: add indep data set to cli tests
This will help us catch things if we break the mapping.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sat, 7 Dec 2013 00:13:50 +0000 (16:13 -0800)]
osdmaptool: fix cli tests for 3x
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Fri, 6 Dec 2013 18:35:45 +0000 (10:35 -0800)]
osd: default to 3x replication
3x is the recommendation; it should be the default too.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Sat, 7 Dec 2013 00:10:00 +0000 (16:10 -0800)]
Merge pull request #913 from dachary/wip-crush-unittest
CrushWrapper::move_bucket unittest and minor fixes
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Fri, 6 Dec 2013 23:48:39 +0000 (15:48 -0800)]
Revert "osd: default to 3x replication"
This reverts commit
cb26fbde52f31b449af60acce3ced34e593d6e1e .
Fix unit tests and do integration tests first; this may have unexpected
consequences.
Loic Dachary [Fri, 6 Dec 2013 23:31:54 +0000 (00:31 +0100)]
crush: detach_bucket must test item >= 0 not > 0
Since detach_bucket is a private helper solely used by move_bucket which
contains another ( correct ) safeguard, the code cannot be reached and
the problem can never happen. If another function uses detach_bucket,
it may happen.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Fri, 6 Dec 2013 23:27:09 +0000 (00:27 +0100)]
crush: remove obsolete comments from link_bucket
Probably copy/pasted from move_bucket.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Fri, 6 Dec 2013 23:21:16 +0000 (00:21 +0100)]
crush: remove redundant code from move_bucket
The following was introduced in 2012 by
a2d0cff1b071bed84ac439e4fcf9ddfb936f89c8
// un-set the device name so we can use add_item later
build_rmap(name_map, name_rmap);
name_map.erase(id);
name_rmap.erase(id_name);
when insert_item refused to move a bucket for which a name already
exists. It was changed in 2013 by
4e2557a038dc1e8c68993ad8571d74e2eb8ea90a and now supports it. The
TestCrushWrapper unittest for move_bucket pass.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Fri, 6 Dec 2013 23:19:50 +0000 (00:19 +0100)]
crush: unittest CrushWrapper::move_bucket
Signed-off-by: Loic Dachary <loic@dachary.org>
Sage Weil [Fri, 6 Dec 2013 22:45:57 +0000 (14:45 -0800)]
Merge pull request #888 from ceph/wip-crush-tunables
default to bobtail-era crush tunables.
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Sage Weil [Fri, 6 Dec 2013 22:38:15 +0000 (14:38 -0800)]
Merge pull request #903 from ceph/wip-memstore
memstore: reference ObjectStore backend
Reviewed-by: Samuel Just <sam.just@inktank.com>
Sage Weil [Fri, 6 Dec 2013 22:25:38 +0000 (14:25 -0800)]
Merge pull request #907 from ceph/wip-3x
osd: default to 3x replication
Sage Weil [Wed, 4 Dec 2013 00:46:49 +0000 (16:46 -0800)]
crush/mapper: dump indep partial progression for debugging
...if DEBUG_INDEP is #defined.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 3 Dec 2013 22:46:46 +0000 (14:46 -0800)]
PendingReleaseNotes: note change of CRUSH indep mode in release notes
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Fri, 6 Dec 2013 21:58:51 +0000 (13:58 -0800)]
crush: add feature CRUSH_V2 for new indep mode and SET_*_TRIES rule steps
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 3 Dec 2013 21:40:47 +0000 (13:40 -0800)]
crush: CHOOSE_LEAF -> CHOOSELEAF throughout
This aligns the internal identifier names with the user-visible names in
the decompiled crush map language.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 3 Dec 2013 18:59:29 +0000 (10:59 -0800)]
osd/OSDMap: fix feature calculation for CACHEPOOL
We need to include the faeture in the mask.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 3 Dec 2013 01:50:44 +0000 (17:50 -0800)]
crush/CrushCompiler: [de]compile set_choose[leaf]_tries rule step
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 3 Dec 2013 16:49:15 +0000 (08:49 -0800)]
crush/CrushWrapper: set chooseleaf_tries to 5 for 'simple' indep rules
When making a generic indep rule, set the recursive retry to 5. This gives
better overall results.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 3 Dec 2013 16:34:39 +0000 (08:34 -0800)]
crush/mapper: add SET_CHOOSE_TRIES rule step
Since we can specify the recursive retries in a rule, we may as well also
specify the non-recursive tries too for completeness.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 3 Dec 2013 16:33:55 +0000 (08:33 -0800)]
crush/mapper: apply chooseleaf_tries to firstn mode too
Parameterize the attempts for the _firstn choose method, and apply the
rule-specified tries count to firstn mode as well. Note that we have
slightly different behavior here than with indep:
If the firstn value is not specified for firstn, we pass through the
normal attempt count. This maintains compatibility with legacy behavior.
Note that this is usually *not* actually N^2 work, though, because of the
descend_once tunable. However, descend_once is unfortunately *not* the
same thing as 1 chooseleaf try because it is only checked on a reject but
not on a collision. Sigh.
In contrast, for indep, if tries is not specified we default to 1
recursive attempt, because that is simply more sane, and we have the
option to do so. The descend_once tunable has no effect for indep.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Tue, 3 Dec 2013 01:39:15 +0000 (17:39 -0800)]
crush/mapper: fix up the indep tests
Fix indentation.
Simplify+fix the changed vs moved calculation.
Use the new SET_CHOOSE_LEAF_TRIES command.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Fri, 6 Dec 2013 22:15:56 +0000 (14:15 -0800)]
Merge pull request #886 from ceph/wip-6922
Fix some pg_num change return codes and make them more resistant to mis-use
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Fri, 6 Dec 2013 20:35:52 +0000 (12:35 -0800)]
Merge pull request #909 from dachary/wip-crush-unittest
more CrushWrapper unittest
Loic Dachary [Fri, 6 Dec 2013 18:33:49 +0000 (19:33 +0100)]
crush: unittest CrushWrapper::get_immediate_parent
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Fri, 6 Dec 2013 14:44:03 +0000 (15:44 +0100)]
crush: unittest CrushWrapper::update_item
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Fri, 6 Dec 2013 14:43:23 +0000 (15:43 +0100)]
crush: unittest s/std::string/string/
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Fri, 6 Dec 2013 13:39:10 +0000 (14:39 +0100)]
crush: unittest use const instead of define
And reduce the depth of the hierarchy because three levels of buckets
capture the same cases as four levels.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Fri, 6 Dec 2013 12:32:31 +0000 (13:32 +0100)]
crush: unittest CrushWrapper::check_item_loc
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Fri, 6 Dec 2013 12:31:22 +0000 (13:31 +0100)]
crush: unittest remove useless c->create()
Signed-off-by: Loic Dachary <loic@dachary.org>
Yehuda Sadeh [Fri, 6 Dec 2013 19:24:06 +0000 (11:24 -0800)]
Merge remote-tracking branch 'origin/next'
Sage Weil [Fri, 6 Dec 2013 18:35:45 +0000 (10:35 -0800)]
osd: default to 3x replication
3x is the recommendation; it should be the default too.
Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil [Fri, 6 Dec 2013 16:29:01 +0000 (08:29 -0800)]
Merge pull request #901 from dachary/wip-crush-unittest
crush: check for invalid names in loc[]
Reviewed-by: Sage Weil <sage@inktank.com>
Loic Dachary [Thu, 5 Dec 2013 18:41:50 +0000 (19:41 +0100)]
crush: check for invalid names in loc[]
Add the is_valid_crush_loc helper to test for invalid crush names in
insert_item and update_item, before performing any side
effect. Implement the associated unit tests.
Signed-off-by: Loic Dachary <loic@dachary.org>
Sage Weil [Fri, 6 Dec 2013 06:11:41 +0000 (22:11 -0800)]
osd: queue pg deletion after on_removal txn
The removal is normally so slow that these don't really race, but they
could.
Signed-off-by: Sage Weil <sage@inktank.com>