]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoosd: OSDMap: dump osd_xinfo_t::features as an int 984/head
Joao Eduardo Luis [Mon, 23 Dec 2013 01:29:23 +0000 (17:29 -0800)]
osd: OSDMap: dump osd_xinfo_t::features as an int

Instead of dumping the list in a string-list format, which in
retrospect wasn't very useful.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: Monitor: Forward connection features
Joao Eduardo Luis [Mon, 23 Dec 2013 01:26:59 +0000 (17:26 -0800)]
mon: Monitor: Forward connection features

We are relying on connection features to track OSD supported
features.  However, we were not forwarding connection features
when we forwarded a message from a peon to the leader.  That
was breaking the OSD feature tracking.

Fixes: 7051
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoMerge pull request #976 from dachary/wip-erasure-code-defaults
Sage Weil [Sun, 22 Dec 2013 23:30:43 +0000 (15:30 -0800)]
Merge pull request #976 from dachary/wip-erasure-code-defaults

provide sensible defaults when creating an erasure coded pool

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: unit test for osd pool create 976/head
Loic Dachary [Fri, 20 Dec 2013 19:39:21 +0000 (20:39 +0100)]
mon: unit test for osd pool create

It is inconvenient to run such tests in the
qa/workunits/cephtool/test.sh because they require that the mon is
restarted to test errors in the format of the default erasure code
properties and check the appropriate error message is output.

osd-pool-create.sh runs a single mon from sources using command
line options and a temporary directory, the same way vstart.sh does but
lightweight.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: erasure code pool properties defaults
Loic Dachary [Sun, 22 Dec 2013 22:37:08 +0000 (23:37 +0100)]
mon: erasure code pool properties defaults

If no properties are set when creating an erasure coded pool, default to
using the jerasure plugin with the cauchy_good technique which is the
fastest.

The defaults are set with osd_pool_default_erasure_code_properties.

The erasure code plugins are loaded from the directory specified in the
erasure-code-directory property. Contrary to the other properties it
will most commonly be the same throughout the cluster. The default is
set to /usr/lib/ceph/erasure-code with
osd_pool_default_erasure_code_directory

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: add error message argument to prepare_new_pool
Loic Dachary [Fri, 20 Dec 2013 16:23:16 +0000 (17:23 +0100)]
mon: add error message argument to prepare_new_pool

Add a stringstream argument to prepare_new_pool for the purpose of
recording human readable error message.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: do not include = in pool properties values
Loic Dachary [Sat, 21 Dec 2013 13:52:17 +0000 (14:52 +0100)]
mon: do not include = in pool properties values

foo=bar was parsed as {"foo":"=bar"} instead of {"foo":"bar"} because of
the missing equal++

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocommon: implement get_str_map to parse key/values
Loic Dachary [Sat, 21 Dec 2013 12:58:44 +0000 (13:58 +0100)]
common: implement get_str_map to parse key/values

It is capable of parsing json or key=value pairs. The prototype is made
to look like get_str_list. The implementation is in common + include and
use .h. It will probably be moved to common and use .hpp instead, along
with str_list.{cc,h}.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: pool properties are not an array
Loic Dachary [Sat, 21 Dec 2013 13:48:27 +0000 (14:48 +0100)]
osd: pool properties are not an array

They must be dumped with open_object_section instead of
open_array_section otherwise only the values are displayed.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: osd create pool must fail on incompatible type
Loic Dachary [Sat, 21 Dec 2013 14:49:19 +0000 (15:49 +0100)]
mon: osd create pool must fail on incompatible type

When osd create pool is called twice on the same pool, it will succeed
because the pool already exists. However, if a different type is
specified, it must fail.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agopackaging: erasure-code plugins go in /usr/lib/ceph
Loic Dachary [Fri, 20 Dec 2013 16:05:45 +0000 (17:05 +0100)]
packaging: erasure-code plugins go in /usr/lib/ceph

Install the plugins in /usr/lib/ceph/erasure-code instead of
/usr/lib/erasure-code to comply with FHS : "Applications may use a
single subdirectory under /usr/lib."

http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html

The debian package is modified to install the plugins as part of the
ceph package which also ships rados-classes.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #983 from dachary/wip-rep-replicated
Sage Weil [Sun, 22 Dec 2013 20:39:08 +0000 (12:39 -0800)]
Merge pull request #983 from dachary/wip-rep-replicated

mon: s/rep/replicated/ in pool create prototype

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: s/rep/replicated/ in pool create prototype 983/head
Loic Dachary [Sun, 22 Dec 2013 17:26:42 +0000 (18:26 +0100)]
mon: s/rep/replicated/ in pool create prototype

The test is updated to remove unecessary asserts. Since all combinations
of properties and pool type are allowed, there is no way to statically
check the validity of the arguments.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agorgw: add -ldl for mongoose
Sage Weil [Sun, 22 Dec 2013 17:00:43 +0000 (09:00 -0800)]
rgw: add -ldl for mongoose

/usr/bin/ld: mongoose/mongoose.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
error: collect2: ld returned 1 exit status

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #980 from ceph/port/misc
Sage Weil [Sun, 22 Dec 2013 17:34:12 +0000 (09:34 -0800)]
Merge pull request #980 from ceph/port/misc

Misc portability patches

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #981 from dachary/wip-rep-replicated
Sage Weil [Sun, 22 Dec 2013 07:43:38 +0000 (23:43 -0800)]
Merge pull request #981 from dachary/wip-rep-replicated

replace pool type REP with REPLICATED

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoceph_test_rados_api_tier: more grace for HitSetTrim
Sage Weil [Sun, 22 Dec 2013 07:40:14 +0000 (23:40 -0800)]
ceph_test_rados_api_tier: more grace for HitSetTrim

Saw this test fail due to ill-timed thrashing:

 /a/teuthology-2013-12-20_23:00:02-rados-master-testing-basic-plana/10941

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoceph_test_rados: update in-memory user_version on RemoveAttrsOp
Sage Weil [Sun, 22 Dec 2013 07:32:24 +0000 (23:32 -0800)]
ceph_test_rados: update in-memory user_version on RemoveAttrsOp

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoreplace pool type REP with REPLICATED 981/head
Loic Dachary [Sun, 22 Dec 2013 06:04:36 +0000 (07:04 +0100)]
replace pool type REP with REPLICATED

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc/release-notes: missed a name
Sage Weil [Sun, 22 Dec 2013 05:42:43 +0000 (21:42 -0800)]
doc/release-notes: missed a name

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: v0.72.2
Sage Weil [Sun, 22 Dec 2013 05:33:23 +0000 (21:33 -0800)]
doc/release-notes: v0.72.2

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agopipe: add compat for TEMP_FAILURE_RETRY symbol 980/head
Noah Watkins [Sat, 21 Dec 2013 19:12:10 +0000 (13:12 -0600)]
pipe: add compat for TEMP_FAILURE_RETRY symbol

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agolinux_version: build on all platforms
Noah Watkins [Sat, 21 Dec 2013 19:08:59 +0000 (13:08 -0600)]
linux_version: build on all platforms

This linux version check is used in FileJournal to check about write
caching behavior. This is a temporary fix that will result in the
failure path and a warning about writing caching being turned on until
methods for OSX/FreeBSD/Windows can be found to find the same
information.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agomake: add libcommon for missing symbols
Noah Watkins [Sat, 21 Dec 2013 19:03:05 +0000 (13:03 -0600)]
make: add libcommon for missing symbols

On OSX without linking in libcommon at the end of these make targets
there is a missing reference to pipe_cloexec, even though the dependency
is present indirectly through libglobal.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agobuffer: remove darwin portability cruft
Noah Watkins [Sun, 29 Sep 2013 18:34:54 +0000 (11:34 -0700)]
buffer: remove darwin portability cruft

valloc conflicts with an existing call, and none of these macros are
actually used in buffer.h. The DARWIN check isn't valid either since
this is an installed header and that depends on acconfig.h

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agostatfs: include headers for statfs structs
Noah Watkins [Sun, 29 Sep 2013 19:07:55 +0000 (12:07 -0700)]
statfs: include headers for statfs structs

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agocompat: enable lseek64 alias
Noah Watkins [Sun, 29 Sep 2013 16:04:37 +0000 (09:04 -0700)]
compat: enable lseek64 alias

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agolibcephfs: ignore missing offset64 definition
Noah Watkins [Tue, 24 Sep 2013 16:09:28 +0000 (09:09 -0700)]
libcephfs: ignore missing offset64 definition

on apple.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agoMerge pull request #977 from ceph/wip-kill-raid4
Sage Weil [Fri, 20 Dec 2013 23:20:23 +0000 (15:20 -0800)]
Merge pull request #977 from ceph/wip-kill-raid4

osd: remove remaining instances of raid4 pool types (never implemented)

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #975 from BCLibCoop/bclibcoop/rgw_cors
Yehuda Sadeh [Fri, 20 Dec 2013 22:26:41 +0000 (14:26 -0800)]
Merge pull request #975 from BCLibCoop/bclibcoop/rgw_cors

RGW: CORS use the correct headers for checking, and validate headers as lowercase where needed

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #979 from dachary/wip-wrapped-vstart-errors
Sage Weil [Fri, 20 Dec 2013 22:19:05 +0000 (14:19 -0800)]
Merge pull request #979 from dachary/wip-wrapped-vstart-errors

vstart_wrapped_tests must fail if one test fail

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #818 from ceph/wip-rgw-standalone-2
Sage Weil [Fri, 20 Dec 2013 21:41:58 +0000 (13:41 -0800)]
Merge pull request #818 from ceph/wip-rgw-standalone-2

Wip rgw standalone 2

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoRevert "Enable libs3 support for debian packages"
Sage Weil [Fri, 20 Dec 2013 21:14:08 +0000 (13:14 -0800)]
Revert "Enable libs3 support for debian packages"

This reverts commit 8814265f0888f8091a7d83a900ffd6b65ae77f34.

Or not!  This adds a build-time dependency which none of the gitbuilders
have, so scrap it.

11 years agomon: pool create will not fail if the type differs 979/head
Loic Dachary [Fri, 20 Dec 2013 21:00:31 +0000 (22:00 +0100)]
mon: pool create will not fail if the type differs

It looked like it worked because the wrapper hide the error. The failing
tests are commented out so that the other tests can be used.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc/release-notes: v0.67.5
Sage Weil [Fri, 20 Dec 2013 20:53:03 +0000 (12:53 -0800)]
doc/release-notes: v0.67.5

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agounittests: fail if one test fail
Loic Dachary [Fri, 20 Dec 2013 20:13:00 +0000 (21:13 +0100)]
unittests: fail if one test fail

vstart_wrapped_tests must return on error if one of the tests
fail.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #460 from toabctl/build-depends
Sage Weil [Fri, 20 Dec 2013 18:48:11 +0000 (10:48 -0800)]
Merge pull request #460 from toabctl/build-depends

Enable libs3 support for debian packages

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #916 from ceph/port/buffer
Sage Weil [Fri, 20 Dec 2013 18:29:03 +0000 (10:29 -0800)]
Merge pull request #916 from ceph/port/buffer

buffer: use int64_t instead of loff_t

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agobuffer: use int64_t instead of loff_t 916/head
Noah Watkins [Fri, 6 Dec 2013 19:09:51 +0000 (11:09 -0800)]
buffer: use int64_t instead of loff_t

Because portability.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agoMerge pull request #933 from dachary/wip-erasure-code-benchmark
Loic Dachary [Fri, 20 Dec 2013 11:24:10 +0000 (03:24 -0800)]
Merge pull request #933 from dachary/wip-erasure-code-benchmark

osd: erasure code benchmark tool

Reviewed-by: Andreas Peters <andreas.joachim.peters@cern.ch>
Reviewed-by: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agoosd: git ignore erasure code benchmark binary 933/head
Loic Dachary [Thu, 19 Dec 2013 11:14:38 +0000 (12:14 +0100)]
osd: git ignore erasure code benchmark binary

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: erasure code benchmark is installed is part of ceph-test
Loic Dachary [Thu, 19 Dec 2013 11:12:41 +0000 (12:12 +0100)]
osd: erasure code benchmark is installed is part of ceph-test

Add to the packaging for RPMs and DEBs

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: erasure code benchmark workunit
Loic Dachary [Thu, 12 Dec 2013 22:14:02 +0000 (23:14 +0100)]
osd: erasure code benchmark workunit

Display benchmark results for the default erasure code plugins, in a tab
separated CSV file. The first two column contain the amount of KB
that were coded or decoded, for a given combination of parameters
displayed in the following fields.

seconds KB plugin k m work. iter. size eras.
1.2 10 example 2 1 encode 10 1024 0
0.5 10 example 2 1 decode 10 1024 1

It can be used as input for a human readable report. It is also intented
to be used to show if a given version of an erasure code plugin performs
better than another.

The last column ( not shown above for brievety ) is the exact command
that was run to produce the result so it can be copy / pasted to
reproduce them or to profile.

Only the jerasure techniques mentionned in
https://www.usenix.org/legacy/events/fast09/tech/full_papers/plank/plank_html/
are benchmarked, the others are assumed to be less interesting.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: erasure code benchmark tool
Loic Dachary [Wed, 11 Dec 2013 23:34:35 +0000 (00:34 +0100)]
osd: erasure code benchmark tool

Implement the ceph_erasure_code_benchmark utility to:

* load an erasure code plugin

* loop over the encode/decode function using the parameters from the
  command line

* print the number of bytes encoded/decoded and the time to process

When decoding, random chunks ( as set with --erasures ) are lost on each
run.

For instance:

    $ ceph_erasure_code_benchmark \
       --plugin jerasure \
       --parameter erasure-code-directory=.libs \
       --parameter erasure-code-technique=reed_sol_van \
       --parameter erasure-code-k=2 \
       --parameter erasure-code-m=2 \
       --workload decode \
       --erasures 2 \
       --iterations 1000
    0.964759 1048576

shows 1GB is decoded in 1second.

It is intended to be used by other scripts to present a human readable
output or detect performance regressions.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: set erasure code packet size default to 2048
Loic Dachary [Fri, 13 Dec 2013 23:41:03 +0000 (00:41 +0100)]
osd: set erasure code packet size default to 2048

As shown in
https://www.usenix.org/legacy/events/fast09/tech/full_papers/plank/plank_html/
under "Impact of the Packet Size", the optimal for is in the order of 1k
rather than the current default of 8. Benchmarks are required to find
the actual optimum.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: better performances for the erasure code example
Loic Dachary [Fri, 13 Dec 2013 13:07:37 +0000 (14:07 +0100)]
osd: better performances for the erasure code example

The XOR based example is ten times slower than it could because it uses
the buffer::ptr[] operator. Use a temporary char * instead. It performs
as well as jerasure Reed Solomon when decoding with a single erasure:

$ ceph_erasure_code_benchmark \
   --plugin example  --parameter erasure-code-directory=.libs \
   --parameter erasure-code-technique=example \
   --parameter erasure-code-k=2 --parameter erasure-code-m=1 \
   --erasure 1 --workload decode --iterations 5000
8.095007 5GB

$ ceph_erasure_code_benchmark \
   --plugin jerasure  --parameter erasure-code-directory=.libs \
   --parameter erasure-code-technique=reed_sol_van \
   --parameter erasure-code-k=10 --parameter erasure-code-m=6 \
   --erasure 1 --workload decode --iterations 5000
7.870990 5GB

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: conditionally disable dlclose of erasure code plugins
Loic Dachary [Thu, 12 Dec 2013 13:03:26 +0000 (14:03 +0100)]
osd: conditionally disable dlclose of erasure code plugins

When profiling, tools such as valgrind --tool=callgrind require that the
dynamically loaded libraries are not dlclosed so they can collect usage
information.

The public ErasureCodePluginRegistry::disable_dlclose boolean is introduced
for this purpose.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: Fix assert which doesn't apply when compat_mode on
David Zafman [Thu, 19 Dec 2013 22:37:28 +0000 (14:37 -0800)]
osd: Fix assert which doesn't apply when compat_mode on

Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoosd: remove remaining instances of raid4 pool types (never implemented) 977/head
Sage Weil [Thu, 19 Dec 2013 21:28:09 +0000 (13:28 -0800)]
osd: remove remaining instances of raid4 pool types (never implemented)

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #941 from ceph/wip-6028
Sage Weil [Thu, 19 Dec 2013 18:17:15 +0000 (10:17 -0800)]
Merge pull request #941 from ceph/wip-6028

#6028 : ensure that erasure coded pools don't work until the osds can handle it

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #973 from ceph/wip-mds-coverity2
Sage Weil [Thu, 19 Dec 2013 16:14:20 +0000 (08:14 -0800)]
Merge pull request #973 from ceph/wip-mds-coverity2

mds: fixes for coverity scan

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomds: fix Resetter locking
Alexandre Oliva [Thu, 19 Dec 2013 16:09:46 +0000 (08:09 -0800)]
mds: fix Resetter locking

ceph-mds --reset-journal didn't work; it would deadlock waiting for
the osdmap.  Comparing the init code in the Dumper (that worked) with
that in the Resetter (that didn't), I noticed the lock had to be
released before waiting for the osdmap.

Now the resetter works.  However, both the resetter and the dumper
fail an assertion after they've performed their task; I didn't look
into it:

../../src/msg/SimpleMessenger.cc: In function 'void SimpleMessenger::reaper()' t
hread 7fdc188d27c0 time 2013-12-19 04:48:16.930895
../../src/msg/SimpleMessenger.cc: 230: FAILED assert(!cleared)
 ceph version 0.72.1-6-g6bca44e (6bca44ec129d11f1c4f38357db8ae435616f2c7c)
 1: (SimpleMessenger::reaper()+0x706) [0x880da6]
 2: (SimpleMessenger::wait()+0x36f) [0x88180f]
 3: (Resetter::reset()+0x714) [0x56e664]
 4: (main()+0x1359) [0x562769]
 5: (__libc_start_main()+0xf5) [0x3632e21b45]
 6: /l/tmp/build/ceph/build/src/ceph-mds() [0x564e49]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to int
erpret this.
2013-12-19 04:48:16.934093 7fdc188d27c0 -1 ../../src/msg/SimpleMessenger.cc: In
function 'void SimpleMessenger::reaper()' thread 7fdc188d27c0 time 2013-12-19 04
:48:16.930895
../../src/msg/SimpleMessenger.cc: 230: FAILED assert(!cleared)

Signed-off-by: Alexandre Oliva <oliva@gnu.org>
11 years agoMerge pull request #969 from yuyuyu101/wip-7040
Sage Weil [Thu, 19 Dec 2013 16:05:32 +0000 (08:05 -0800)]
Merge pull request #969 from yuyuyu101/wip-7040

Fix segmentation fault when handler is NULL pointer

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #972 from dachary/wip-build-depends
Loic Dachary [Thu, 19 Dec 2013 14:39:55 +0000 (06:39 -0800)]
Merge pull request #972 from dachary/wip-build-depends

packaging: revert adding argparse and uuidgen

11 years agopackaging: revert adding argparse and uuidgen 972/head
Loic Dachary [Thu, 19 Dec 2013 14:33:07 +0000 (15:33 +0100)]
packaging: revert adding argparse and uuidgen

Because the gitbuilder build environment does not read the build depends
from the packages and needs to be updated independantly.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #971 from dachary/wip-build-depends
Loic Dachary [Thu, 19 Dec 2013 14:27:09 +0000 (06:27 -0800)]
Merge pull request #971 from dachary/wip-build-depends

packaging: make check needs argparse and uuidgen

Reviewed-by: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agoMerge pull request #970 from dachary/wip-autogen
Loic Dachary [Thu, 19 Dec 2013 13:57:52 +0000 (05:57 -0800)]
Merge pull request #970 from dachary/wip-autogen

autogen: test compare strings with != not -ne

Reviewed-by: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agopackaging: make check needs argparse and uuidgen 971/head
Loic Dachary [Thu, 19 Dec 2013 12:57:04 +0000 (13:57 +0100)]
packaging: make check needs argparse and uuidgen

make check runs vstart.sh to setup a cluster from source and it misses
the python-argparse library as well as uuidgen otherwise it will fail
with:

    ./vstart.sh: 460: uuidgen: not found
    ...
    Error: Import No module named argparse

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoautogen: test compare strings with != not -ne 970/head
Loic Dachary [Thu, 19 Dec 2013 12:40:06 +0000 (13:40 +0100)]
autogen: test compare strings with != not -ne

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoFix segmentation fault when handler is NULL pointer 969/head
Haomai Wang [Thu, 19 Dec 2013 10:54:04 +0000 (18:54 +0800)]
Fix segmentation fault when handler is NULL pointer

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
11 years agoMerge pull request #966 from dachary/ceph-master
Loic Dachary [Thu, 19 Dec 2013 10:31:41 +0000 (02:31 -0800)]
Merge pull request #966 from dachary/ceph-master

crush: silence error messages in unit tests

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoMerge pull request #968 from ceph/wip-crush
Loic Dachary [Thu, 19 Dec 2013 10:28:30 +0000 (02:28 -0800)]
Merge pull request #968 from ceph/wip-crush

make check is happy and the change is non controversial

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agomds: fixes for coverity scan 973/head
Yan, Zheng [Wed, 18 Dec 2013 01:33:13 +0000 (09:33 +0800)]
mds: fixes for coverity scan

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agocrush/mapper: fix crush_choose_firstn comment 968/head
Sage Weil [Thu, 19 Dec 2013 05:18:28 +0000 (21:18 -0800)]
crush/mapper: fix crush_choose_firstn comment

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrush/mapper: attempts -> tries
Sage Weil [Thu, 19 Dec 2013 05:17:02 +0000 (21:17 -0800)]
crush/mapper: attempts -> tries

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrush/mapper: finish adding choose_local_[fallback_]tries
Sage Weil [Thu, 19 Dec 2013 05:15:41 +0000 (21:15 -0800)]
crush/mapper: finish adding choose_local_[fallback_]tries

Didn't finish this in d129e09e57fbc61cfd4f492e3ee77d0750c9d292.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agovstart.sh: NOTE, not WARNING, to make gitbuilder happy
Sage Weil [Thu, 19 Dec 2013 05:16:10 +0000 (21:16 -0800)]
vstart.sh: NOTE, not WARNING, to make gitbuilder happy

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoqa: workunit: cephtool: test osd pool create with erasure type 941/head
Joao Eduardo Luis [Wed, 18 Dec 2013 17:42:20 +0000 (17:42 +0000)]
qa: workunit: cephtool: test osd pool create with erasure type

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agopybind: test_ceph_argparse: test 'ceph osd pool create' with pool type
Joao Eduardo Luis [Wed, 18 Dec 2013 17:58:31 +0000 (17:58 +0000)]
pybind: test_ceph_argparse: test 'ceph osd pool create' with pool type

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: OSDMonitor: add optional 'pool type' arg to 'osd pool create'
Joao Eduardo Luis [Tue, 17 Dec 2013 18:00:50 +0000 (18:00 +0000)]
mon: OSDMonitor: add optional 'pool type' arg to 'osd pool create'

Allow specifying 'rep', 'raid4' and 'erasure'.
Only allow setting type 'erasure' if all up osds support erasure codes.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoosd: OSDMap: add 'get_up_osds()' function
Joao Eduardo Luis [Wed, 18 Dec 2013 16:26:25 +0000 (16:26 +0000)]
osd: OSDMap: add 'get_up_osds()' function

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoceph_osd: add EC to OSD's supported features used by the messenger
Joao Eduardo Luis [Wed, 18 Dec 2013 02:47:32 +0000 (02:47 +0000)]
ceph_osd: add EC to OSD's supported features used by the messenger

Fixes: 6028
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoosd: OSD: reflect OSDMap EC flag being set by setting on-disk feature
Joao Eduardo Luis [Thu, 12 Dec 2013 18:25:31 +0000 (18:25 +0000)]
osd: OSD: reflect OSDMap EC flag being set by setting on-disk feature

If OSDMap has the EC feature set, then update our superblock to
reflect as such, making our on-disk format incompatible with previous
OSDs without EC support.

Fixes: 6028
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: OSDMonitor: handle osd features on boot
Joao Eduardo Luis [Thu, 12 Dec 2013 17:58:17 +0000 (17:58 +0000)]
mon: OSDMonitor: handle osd features on boot

Add the osd's features to the osd's extra info field in the OSDMap
so we can track which OSDs are able to deal with Erasure Codes.

This will allow us to decide whether or not we are ready to set EC
whenever the user asks us to set EC on a pool -- which shall be
handled by a subsequent commit.

Fixes: 6028
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoosd: OSDMap: add 'features' bit mask field to osd_xinfo_t
Joao Eduardo Luis [Thu, 12 Dec 2013 17:09:14 +0000 (17:09 +0000)]
osd: OSDMap: add 'features' bit mask field to osd_xinfo_t

And make sure we dump it on osd_xinfo_t::dump().

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoosd: OSDMap: check for erasure pools when getting features
Joao Eduardo Luis [Sat, 14 Dec 2013 00:41:01 +0000 (00:41 +0000)]
osd: OSDMap: check for erasure pools when getting features

If we have a pool with type Erasure, then we consider we require
CEPH_FEATURE_OSD_ERASURE_CODES.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoosd: OSD: add binary compat feature for Erasure Codes
Joao Eduardo Luis [Thu, 12 Dec 2013 17:10:54 +0000 (17:10 +0000)]
osd: OSD: add binary compat feature for Erasure Codes

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoinclude/ceph_features: add CEPH_FEATURES_OSD_ERASURE_CODES
Joao Eduardo Luis [Sat, 14 Dec 2013 00:39:02 +0000 (00:39 +0000)]
include/ceph_features: add CEPH_FEATURES_OSD_ERASURE_CODES

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoadded execute permission to the script
tamil [Wed, 18 Dec 2013 22:32:35 +0000 (14:32 -0800)]
added execute permission to the script

Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
11 years agorgw workunit to test bucket quota
tamil [Wed, 18 Dec 2013 22:23:54 +0000 (14:23 -0800)]
rgw workunit to test bucket quota

Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
11 years agoMerge pull request #926 from yuyuyu101/wip/6950
Sage Weil [Wed, 18 Dec 2013 18:42:40 +0000 (10:42 -0800)]
Merge pull request #926 from yuyuyu101/wip/6950

Move PerfCounter from ObjectStore.h to FileStore.h

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #961 from dachary/wip-erasure-code-alignment
Sage Weil [Wed, 18 Dec 2013 18:41:31 +0000 (10:41 -0800)]
Merge pull request #961 from dachary/wip-erasure-code-alignment

erasure-code: tests must use aligned buffers

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #967 from ceph/wip-7026
Gregory Farnum [Wed, 18 Dec 2013 18:24:00 +0000 (10:24 -0800)]
Merge pull request #967 from ceph/wip-7026

osd/ReplicatedPG: fix hit_set_setup() on_activate()
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #955 from ceph/wip-crush-2
Sage Weil [Wed, 18 Dec 2013 18:00:55 +0000 (10:00 -0800)]
Merge pull request #955 from ceph/wip-crush-2

crush: make set_chooseleaf_tries work with firstn chooseleaf, too

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.com>
11 years agoMerge pull request #964 from apeters1971/wip-arch-sse2
Loic Dachary [Wed, 18 Dec 2013 17:57:18 +0000 (09:57 -0800)]
Merge pull request #964 from apeters1971/wip-arch-sse2

ARCH: add variable for sse2 register

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agocrush: silence error messages in unit tests 966/head
Loic Dachary [Wed, 18 Dec 2013 16:16:08 +0000 (17:16 +0100)]
crush: silence error messages in unit tests

The error messages are intentional when error conditions are
created. They will create false positive in the gitbuilder parser when
the string error is found.

The --debug-crush flag is detected to allow the caller to reset the
verbosity level.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoARCH: adding SSE2 flag to arch-test 964/head
Andreas Peters [Wed, 18 Dec 2013 14:32:59 +0000 (15:32 +0100)]
ARCH: adding SSE2 flag to arch-test

11 years agoMerge pull request #965 from ksperis/rbdmap.upstart
Sage Weil [Wed, 18 Dec 2013 16:57:29 +0000 (08:57 -0800)]
Merge pull request #965 from ksperis/rbdmap.upstart

upstart: add rbdmap script

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: 'osd crush show-tunables' 955/head
Sage Weil [Tue, 17 Dec 2013 20:21:41 +0000 (12:21 -0800)]
mon/OSDMonitor: 'osd crush show-tunables'

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrush: expand info about tunables that we dump
Sage Weil [Tue, 17 Dec 2013 20:15:51 +0000 (12:15 -0800)]
crush: expand info about tunables that we dump

Include the tunables profile, and flags indicating whether it is optimal,
legacy, or requires certain features.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon: warn if crush has non-optimal tunables
Sage Weil [Tue, 17 Dec 2013 17:28:43 +0000 (09:28 -0800)]
mon: warn if crush has non-optimal tunables

Allow warning to be disabled via ceph.conf.  Link to the docs from the
warning detail.  Add a section to the docs specifically about what to do
about the warning.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrush: add set_choose_local_[fallback_]tries steps
Sage Weil [Tue, 17 Dec 2013 19:51:10 +0000 (11:51 -0800)]
crush: add set_choose_local_[fallback_]tries steps

This alls all of the tunables to be overridden by a specific rule.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #952 from kri5/master
Loic Dachary [Wed, 18 Dec 2013 15:00:42 +0000 (07:00 -0800)]
Merge pull request #952 from kri5/master

vstart: Update apache conf to run against apache 2.4

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agovstart: Update apache conf to run against apache 2.4 952/head
Christophe Courtaut [Mon, 16 Dec 2013 17:13:57 +0000 (18:13 +0100)]
vstart: Update apache conf to run against apache 2.4

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agoupstart: add rbdmap script 965/head
Laurent Barbe [Wed, 18 Dec 2013 13:20:24 +0000 (14:20 +0100)]
upstart: add rbdmap script

Upstart script for mapping / unmapping rbd device based on /etc/ceph/rbdmap file.
It does not mount or unmount filesystem, this part should be performed by _netdev option in fstab.

Signed-off-by: Laurent Barbe <laurent@ksperis.com>
11 years agoARCH: add variable for sse2 register
Andreas Peters [Fri, 13 Dec 2013 15:39:56 +0000 (16:39 +0100)]
ARCH: add variable for sse2 register

11 years agoqa/workunits/cephtool/test.sh: clean up our client.xx.keyring
Sage Weil [Wed, 18 Dec 2013 02:16:59 +0000 (18:16 -0800)]
qa/workunits/cephtool/test.sh: clean up our client.xx.keyring

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: fix hit_set_setup() on_activate() 967/head
Sage Weil [Tue, 17 Dec 2013 23:58:21 +0000 (15:58 -0800)]
osd/ReplicatedPG: fix hit_set_setup() on_activate()

Didn't read that if carefully the first time around!

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #960 from ceph/wip-6990
David Zafman [Tue, 17 Dec 2013 19:46:48 +0000 (11:46 -0800)]
Merge pull request #960 from ceph/wip-6990

Add backward comptible acting set until all OSDs updated

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoAdd backward comptible acting set until all OSDs updated 960/head
David Zafman [Tue, 17 Dec 2013 06:08:07 +0000 (22:08 -0800)]
Add backward comptible acting set until all OSDs updated

Add configuration variable to override compatible acting set handling.
Later we'll check the osdmap that all OSDs are updated to use new acting sets.

Fixes: #6990
Signed-off-by: David Zafman <david.zafman@inktank.com>