Commit Graph

28772 Commits

Author SHA1 Message Date
David Zafman
91dcdec18e Merge pull request #609 from dmick/wip-6293
mon: fix wrong arg to "instructed to" status message

Reviewed-by: David Zafman <david.zafman@inktank.com>
2013-09-19 18:06:27 -07:00
Dan Mick
16ebb25f7c mon: fix wrong arg to "instructed to" status message
Fixes: #6293
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-09-19 16:05:01 -07:00
Loic Dachary
bcc1680ad2 mon: fix inverted test in osd pool create
When using the properties key=value only, the test was inverted
and an attempt to obtain a substring at index string::npos throws
an exception.

Add variations of osd pool create to qa/workunits/mon/pool_ops.sh
to assert the problem has been fixed and all code paths are used.

http://tracker.ceph.com/issues/6357 fixes #6357

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-20 00:33:13 +02:00
Noah Watkins
f3718c29bb code_env: use feature test for PR_GET_NAME support
Function `get_process_name` has platform specific dependencies. Check
for Linux prctl function and correct command flag.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-09-19 15:00:31 -07:00
Yehuda Sadeh
08fe028bad rgw: use bufferlist::append() instead of bufferlist::push_back()
push_back() expects char *, whereas append can append a single char.
Appending a NULL char to push_back is cast as a NULL pointer which is
bad.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-19 13:03:11 -07:00
Gary Lowell
5216ed134b Merge pull request #604 from ceph/wip-buck-centos-core
Wip buck centos core
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
2013-09-19 13:01:00 -07:00
Sage Weil
fd6646f256 Makefile: fix unittest_arch
Also broken by makefile refactor.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-19 12:52:53 -07:00
Sage Weil
5421d6da2c Makefile: fix unittest_crc32c
This got dropped during the makefile refactor.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-19 08:48:23 -07:00
Loic Dachary
4c9497f9be ErasureCode: complete plugin loader unit tests
* TestErasureCodePluginExample.cc is renamed to TestErasureCodePlugin.cc
  because it's not limited to the example which is really used to
  support tests rather than being tested.

* Bugous plugins are added to exhibit failures and enable the unit tests
  to check they are handled as expected

  ErasureCodePluginFailToInitialize : the entry point returns != 0
  ErasureCodePluginFailToRegister : the plugin registry is not updated
  ErasureCodePluginMissingEntryPoint : the shared library has no entry
  point

* It would be difficult to prove that the mutex protecting against
  multiple loads actually does what it is expected to because of the
  lack of thread introspection functions such as : tell me if this
  thread is waiting on this mutex. A simpler approach is chosen : create
  a thread that blocks forever when loading ( that's what the delay in
  the example plugin is for ) and then check that the lock has indeed
  been acquired. Since this mutex is merely about making sure that only
  one thread at a time runs this sequence of code, it's probably enough.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-19 09:47:53 +02:00
Loic Dachary
7324931d5e ErasureCode: plugin loading in progress flag
The bool loading data member of ErasureCodePluginRegistry is
set to true when a plugin is being loaded, to provide an observable side
effect for test purposes.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-19 09:47:53 +02:00
Loic Dachary
def05f06ed ErasureCode: improve API implementation example
* minimum_to_decode and minimum_to_decode_with_cost are replaced with
  meaningfull examples instead of placeholders

* encode and decode are commented and hard coded constants are replaced
  by defines for readability

* run against valgrind

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-19 09:47:53 +02:00
Loic Dachary
d8b55837fd ErasureCode: proofread abstract API documentation
* Andreas-Joachim Peters suggests to reduce copies to the minimum. When
  possible the output arguments will just point to the input
  argument. This must be documented as any side effect on the input
  argument may modify the output argument

* Fix typos

* Fix may/could/must/should to better reflect what's mandatory and
  what's not.

* Reword the explanation of minimum_to_decode_with_cost to not suggest
  an implementation. This will need to be revisited anyway, when the
  semantic of the cost is defined.

* Explain chunk size constraints

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-19 09:47:53 +02:00
Sage Weil
96010924cb os/FileStore: fix uninitialized var
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-18 20:38:51 -07:00
Yan, Zheng
b66ac77fa7 osdc/ObjectCacher: finish contexts after dropping object reference
The context to finish can be class C_Client_PutInode, which may drop
inode's last reference. So we should first drop object's reference,
then finish contexts.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-09-18 13:26:30 -07:00
Sage Weil
ce723b5ad6 doc/release-notes: v0.69
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-18 12:31:42 -07:00
Gary Lowell
33671f3554 Merge branch 'next' 2013-09-18 09:11:02 +00:00
Gary Lowell
6ca6f2f9f7 v0.69 2013-09-18 01:40:51 +00:00
Gregory Farnum
b37f88c92d Merge pull request #586 from ceph/wip-copyfrom-big
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-09-17 11:14:26 -07:00
Sage Weil
a80f831b1f ceph_test_rados: identify write seq_num in output
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:28 -07:00
Sage Weil
3a00187860 librados: test copy_from without src_version specified
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:28 -07:00
Sage Weil
045b90292a osd: allow a copy_from without knowing the src_version
If we don't specify the version up front, learn the version after the first
chunk and enforce it thereafter to ensure we do not get torn content.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:28 -07:00
Sage Weil
83f12e4630 ceph_test_rados: submit a racing read with every COPY_FROM
Verify that the racing read completes after the COPY_FROM does (i.e., is
blocked by it).

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:27 -07:00
Sage Weil
d050596a0d ceph_test_rados: use get_version64() throughout
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:27 -07:00
Sage Weil
cdc637f0f1 osd: block requests on object during COPY_FROM
Block any request on an object (read or write) during the COPY_FROM
operation.

This could potentially be broken down into read vs write operations without
much difficulty, but blocking any op indescriminately is sufficient for
now, so let's keep it simple.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:27 -07:00
Sage Weil
f97277cc50 osd: add infrastructure to block io on an obc
Add an is_blocked() method for the obc, and add infrastructure to block
any operations if it returns true.  Clean up on_change(), and add a helper
to kick an obc when whatever condition leading to it being blocked is no
longer true.

For now, is_blocked() is always false...

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:27 -07:00
Sage Weil
df7c36ac08 osd/ReplicatedPG: factor some bits into finish_copy
This is a bit cleaner and hopefully more usable for osd-driven cache
promotion.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:27 -07:00
Sage Weil
5921703eb5 ceph_test_rados: more readable output
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:27 -07:00
Sage Weil
4e29e362e7 osd/ReplicatedPG: stage object chunks to replicas during COPY_FROM
As we get each chunk of data during the COPY_FROM operation, write it out
to a temporary object on the replicas.  When we get all the pieces, move
it into place.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 11:06:27 -07:00
John Wilkins
1f80d63272 doc: Replaced code-block with inline literal to fix auto numbering.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-17 10:39:24 -07:00
John Wilkins
7d5dfa2b58 doc: Made s3gw.fcgi paths consistent.
fixes: #6182

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-17 10:34:47 -07:00
Alexandre Oliva
59147be9ae osd: compute full ratio from kb_avail
On btrfs, kb_used + kb_avail can be much smaller than total kb, and
what really matters to avoid filling up the disk is how much space is
available, not how much we've used.  Thus, compute the ratio we use to
determine full or nearfull from kb_avail rather than from kb_used.

Signed-off-by: Alexandre Oliva <oliva@gnu.org>
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-17 06:31:48 -07:00
Loic Dachary
89e8b8be2f ErasureCode: improve API implementation example
* minimum_to_decode and minimum_to_decode_with_cost are replaced with
  meaningfull examples instead of placeholders

* encode and decode are commented and hard coded constants are replaced
  by defines for readability

* run against valgrind

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-17 10:58:26 +02:00
Loic Dachary
3966e6ea06 ErasureCode: proofread abstract API documentation
* Andreas-Joachim Peters suggests to reduce copies to the minimum. When
  possible the output arguments will just point to the input
  argument. This must be documented as any side effect on the input
  argument may modify the output argument

* Fix typos

* Fix may/could/must/should to better reflect what's mandatory and
  what's not.

* Reword the explanation of minimum_to_decode_with_cost to not suggest
  an implementation. This will need to be revisited anyway, when the
  semantic of the cost is defined.

* Explain chunk size constraints

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-17 10:58:26 +02:00
Joe Buck
971bf60b39 Remove unneeded junit4 check
We refactored the java tests to not use
the ExternalResource class, so this test
is no longer necessary.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-09-16 22:07:02 -07:00
Joe Buck
e38bd8d5ff Removing extraneous code
The ExternalResource code was unnecessary and caused
issues on CentOS. Removing it.
Update Makefile.am to reflect the fact that
an anonymous class was removed and its
$1.class file is no longer generated.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-09-16 22:03:34 -07:00
Joe Buck
cd6f4bcdae Use a loop for testing jdk paths
Loop through a list of sensible default
locations for a JDK, stopping if a
workable JDK is found.
Also, add support for CentOS' default
java location.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-09-16 22:02:59 -07:00
Josh Durgin
109cd50ca9 Merge pull request #601 from pipul/feature/develop_130917
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-09-16 21:06:32 -07:00
fangdong
3cef755428 fix some comments
Signed-off-by: fangdong <yp.fangdong@gmail.com>
2013-09-17 10:34:10 +08:00
John Wilkins
e55d59f826 doc: Updated usage.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-16 18:57:46 -07:00
John Wilkins
0be2c87a54 doc: Removed --fs-type option and text.
fixes: #6326

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-16 18:40:07 -07:00
John Wilkins
874186bacc doc: Updated the usage scenario and made a few syntax edits.
fixes: #6308

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-16 18:38:55 -07:00
Gregory Farnum
c9c710c1f4 Merge pull request #600 from dachary/fix-erasure-warning
ErasureCode: fix uninitialized variable warning
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-16 14:14:19 -07:00
Loic Dachary
abd2fcd54a ErasureCode: fix uninitialized variable warning
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-16 23:04:23 +02:00
Gregory Farnum
4930ccb8a2 Merge pull request #597 from ceph/remove-hadoop-shim
This branch built fine on the gitbuilders and the list of removed files looks good to me.

Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-16 13:57:47 -07:00
athanatos
01ec6a3fdf Merge pull request #538 from dachary/wip-5879
jerasure-1.2A plugin

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-09-13 18:09:43 -07:00
Yehuda Sadeh
4216eac0f5 rgw: try to create log pool if doesn't exist
When using replica log, if the log pool doesn't exist all operations are
going to fail. Try to create it if doesn't exist.

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-13 15:35:26 -07:00
Noah Watkins
b86c068669 hadoop: remove hadoop shim
The in-tree Hadoop shim was a combination of libcephfs wrapper, and the
bits to support Hadoop. This has been replaced by src/java that
implements generic libcephfs wrappers, and externally, the hadoop shim
(see docs).

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-09-13 13:39:48 -07:00
Yehuda Sadeh
e7f7483192 rgw: NULL terminate buffer before parsing it
Fixes: #6175
Backport: dumpling
We get a buffer off the remote gateway which might
not be NULL terminated. The JSON parser needs the
buffer to be NULL terminated even though we provide
a buffer length as it calls strlen().

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-13 10:02:44 -07:00
Sage Weil
40e0cabcb4 Merge pull request #594 from ceph/fix-no-tcmalloc-build
make: add tmalloc lib dep in tcmalloc guard

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-13 08:57:16 -07:00
Noah Watkins
3f8c96902e make: add tmalloc lib dep in tcmalloc guard
Fixes --without-tcmalloc on boxes without libtcmalloc.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-09-13 08:29:41 -07:00