]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agomon: remove unused variable 4616/head
Kefu Chai [Fri, 8 May 2015 07:21:20 +0000 (15:21 +0800)]
mon: remove unused variable

* as a side effect, this change silences
  http://tracker.ceph.com/issues/11576

Fixes: #11576
Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4614 from ceph/wip-11574-fix-FTBFS
Gregory Farnum [Fri, 8 May 2015 04:55:36 +0000 (21:55 -0700)]
Merge pull request #4614 from ceph/wip-11574-fix-FTBFS

json_sprit: fix the FTBFS on old gcc

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agojson_sprit: fix the FTBFS on old gcc 4614/head
Kefu Chai [Fri, 8 May 2015 04:01:16 +0000 (12:01 +0800)]
json_sprit: fix the FTBFS on old gcc

Fixes: #11574
Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4611 from yuyuyu101/wip-async-fix-9
Haomai Wang [Fri, 8 May 2015 03:00:08 +0000 (11:00 +0800)]
Merge pull request #4611 from yuyuyu101/wip-async-fix-9

AsyncConnection: verify connection's state is expected

10 years agoAsyncConnection: verify connection's state is expected 4611/head
Haomai Wang [Fri, 8 May 2015 02:24:37 +0000 (10:24 +0800)]
AsyncConnection: verify connection's state is expected

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoMerge pull request #4604 from ceph/wip-11568
Yan, Zheng [Fri, 8 May 2015 01:13:26 +0000 (09:13 +0800)]
Merge pull request #4604 from ceph/wip-11568

#11568: fix error handling in check_pool_perm

10 years agoMerge pull request #4608 from ceph/wip_11547
Josh Durgin [Fri, 8 May 2015 00:18:15 +0000 (17:18 -0700)]
Merge pull request #4608 from ceph/wip_11547

Added a "ceph hello world" for a simple check for ceph-deploy qa suite

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoAdded a "ceph hello world" for a simple check for ceph-deploy qa suite 4608/head
Yuri Weinstein [Fri, 8 May 2015 00:12:35 +0000 (17:12 -0700)]
Added a "ceph hello world" for a simple check for ceph-deploy qa suite

Signed-off-by: Yuri Weinstein <yuri.weinstein@inktank.com>
10 years agoMerge pull request #4520 from ceph/wip-mds-damage-handling
Gregory Farnum [Thu, 7 May 2015 23:26:57 +0000 (16:26 -0700)]
Merge pull request #4520 from ceph/wip-mds-damage-handling

MDS: improve handling of damaged metadata

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #4607 from dachary/wip-11532-limits
Gregory Farnum [Thu, 7 May 2015 23:18:40 +0000 (16:18 -0700)]
Merge pull request #4607 from dachary/wip-11532-limits

tests: need 1024 files per process not 100024

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agotests: need 1024 files per process not 100024 4607/head
Loic Dachary [Thu, 7 May 2015 23:14:47 +0000 (01:14 +0200)]
tests: need 1024 files per process not 100024

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4605 from dachary/wip-11532-limits
Gregory Farnum [Thu, 7 May 2015 22:59:52 +0000 (15:59 -0700)]
Merge pull request #4605 from dachary/wip-11532-limits

tests: fail make check if nproc is too low

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agotests: fail make check if nproc is too low 4605/head
Loic Dachary [Thu, 7 May 2015 21:12:33 +0000 (23:12 +0200)]
tests: fail make check if nproc is too low

When running tests in parallel with make -jX, the ulimit -u (number of
processor / thread per user) needs to be at least X * 1024. If not it
will fail in mysterious ways. Since there is no convenient way to figure
out the value of X ( see
http://blog.jgc.org/2015/03/gnu-make-insanity-finding-value-of-j.html
for a non trivial an entertaining solution) add a very conservative
check that assumes the user will run make -jX where X is nproc / 2.

It will be annoying for users who want to run make check, not use -j,
and have a low ulimit -u. But the error suggest a way to override this
with

   make CHECK_ULIMIT=false check

This is a minor irritation compared to the puzzling behavior of make
check when ulimit is exceeded.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4599 from dachary/wip-releases
Sage Weil [Thu, 7 May 2015 21:19:38 +0000 (14:19 -0700)]
Merge pull request #4599 from dachary/wip-releases

release cycle / timeline updates

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4532 from dachary/wip-init-system-detection
Loic Dachary [Thu, 7 May 2015 20:21:26 +0000 (22:21 +0200)]
Merge pull request #4532 from dachary/wip-init-system-detection

ceph-detect-init helper and associated tests

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoclient: fix error handling in check_pool_perm 4604/head
John Spray [Thu, 7 May 2015 17:42:01 +0000 (18:42 +0100)]
client: fix error handling in check_pool_perm

Previously, on an error such as a pool not existing,
the caller doing the check would error out, but
anyone waiting on waiting_for_pool_perm would
block indefinitely (symptom was that reads on a
file with a bogus layout would block forever).

Fix by triggering the wait list on errors and
clear the CHECKING state so that the other callers
also perform the check and find the error.

Additionally, don't return the RADOS error code
up to filesystem users, because it can be
misleading.  For example, nonexistent pool is
ENOENT, but we shouldn't give ENOENT on IO
to a file which does exist, we should give EIO.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoclient: use SaferCond in check_pool_perm
John Spray [Thu, 7 May 2015 17:17:37 +0000 (18:17 +0100)]
client: use SaferCond in check_pool_perm

Just because it's easier to read.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #4543 from yuyuyu101/wip-async-fix-8
Haomai Wang [Thu, 7 May 2015 16:27:03 +0000 (00:27 +0800)]
Merge pull request #4543 from yuyuyu101/wip-async-fix-8

Wip async fix 8

10 years agoMerge pull request #4003 from ceph/wip-fix-cmake-nss
Orit Wasserman [Thu, 7 May 2015 16:14:57 +0000 (18:14 +0200)]
Merge pull request #4003 from ceph/wip-fix-cmake-nss

Fix nss for cmake

10 years agoMerge pull request #3743 from trociny/wip-osd_create
Kefu Chai [Thu, 7 May 2015 16:13:37 +0000 (00:13 +0800)]
Merge pull request #3743 from trociny/wip-osd_create

mon: osd create: add optional 'id' parameter

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
10 years agoMerge pull request #4422 from ceph/wip-10154
Josh Durgin [Thu, 7 May 2015 15:29:25 +0000 (08:29 -0700)]
Merge pull request #4422 from ceph/wip-10154

librbd: deep-flatten of cloned images

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4603 from ceph/wip-11557
Loic Dachary [Thu, 7 May 2015 15:09:18 +0000 (17:09 +0200)]
Merge pull request #4603 from ceph/wip-11557

librbd: fast diff should treat all _EXISTS objects as dirty

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agosrc/CMakeLists.txt: fix build to work with nss 4003/head
Danny Al-Gaaf [Sun, 15 Mar 2015 19:11:48 +0000 (20:11 +0100)]
src/CMakeLists.txt: fix build to work with nss

Add nss and nspr include dirs to CXX_FLAGS if all dependencies
are found.

the ceph-authtool target needs also ${CRYPTO_LIBS}.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoCMakeLists.txt: fix detection of nss
Danny Al-Gaaf [Sun, 15 Mar 2015 19:06:46 +0000 (20:06 +0100)]
CMakeLists.txt: fix detection of nss

Libnss needs also to check for libnspr and add the related
-l targets to CRYPTO_LIBS, otherwise the build will fail.

Make sure USE_NSS is set correctly to 0 if cryptopp found
and in case nss was found set USE_CRYPTOPP also to 0.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agocrypto: fix cmake error '#elif with no expression'
Danny Al-Gaaf [Thu, 7 May 2015 11:23:37 +0000 (13:23 +0200)]
crypto: fix cmake error '#elif with no expression'

It needs to be '#elif defined()' to work with cmake.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoCMake: add FindNSPR.cmake
Danny Al-Gaaf [Sun, 15 Mar 2015 18:08:26 +0000 (19:08 +0100)]
CMake: add FindNSPR.cmake

The nss lib needs the nspr library to build. Add file to
get the nspr lib/includes from the pc file.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoMerge pull request #4460 from yuyuyu101/wip-fix-pycephfs
John Spray [Thu, 7 May 2015 09:58:26 +0000 (11:58 +0200)]
Merge pull request #4460 from yuyuyu101/wip-fix-pycephfs

Libcephfs: Add python bindings

Reviewed-by: John Spray <john.spray@redhat.com>
10 years agodoc: clarify the release cycle and LTS meaning 4599/head
Loic Dachary [Thu, 7 May 2015 08:30:23 +0000 (10:30 +0200)]
doc: clarify the release cycle and LTS meaning

* Explain the development cycle and stable release cycle
* Replace the 18 month duration with the LTS+2 overlap logic
* Explain that the estimated retirement is an educated guess
  that depends on the stable release frequency
* Replace Support with Stable in LTS to avoid confusion with
  professional services
* Do not promise bugs will be handled, only that they will be triaged

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: add v9.0.0 to the release timeline
Loic Dachary [Thu, 7 May 2015 08:29:38 +0000 (10:29 +0200)]
doc: add v9.0.0 to the release timeline

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: replace End Of Life with retirement
Loic Dachary [Thu, 7 May 2015 08:28:48 +0000 (10:28 +0200)]
doc: replace End Of Life with retirement

End Of Life has a definitive tone that is scary.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: fix releases broken links
Loic Dachary [Thu, 7 May 2015 08:27:11 +0000 (10:27 +0200)]
doc: fix releases broken links

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agolibrbd: copyup now optionally updates the snapshot object maps 4422/head
Jason Dillaman [Tue, 21 Apr 2015 14:17:17 +0000 (10:17 -0400)]
librbd: copyup now optionally updates the snapshot object maps

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: allow updates to snapshot object maps
Jason Dillaman [Tue, 21 Apr 2015 14:15:58 +0000 (10:15 -0400)]
librbd: allow updates to snapshot object maps

The modified copyup behavior will need to update snapshot object
maps when performing a copyup since the object will now exist within
all snapshots of the image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: AsyncRequest is now optional for AsyncObjectThrottle
Jason Dillaman [Tue, 21 Apr 2015 13:54:53 +0000 (09:54 -0400)]
librbd: AsyncRequest is now optional for AsyncObjectThrottle

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: progress context is now optional for AsyncObjectThrottle
Jason Dillaman [Tue, 21 Apr 2015 13:49:32 +0000 (09:49 -0400)]
librbd: progress context is now optional for AsyncObjectThrottle

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agotests: verify object map is updated after full copyup
Jason Dillaman [Mon, 20 Apr 2015 19:08:56 +0000 (15:08 -0400)]
tests: verify object map is updated after full copyup

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agotests: verify new librbd snapshot copyup behavior
Jason Dillaman [Mon, 20 Apr 2015 14:20:56 +0000 (10:20 -0400)]
tests: verify new librbd snapshot copyup behavior

Copyup should make the object available for all existing snapshots in
addition to the HEAD object.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agotests: add new feature code to rbd test list
Jason Dillaman [Mon, 20 Apr 2015 18:39:57 +0000 (14:39 -0400)]
tests: add new feature code to rbd test list

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agotests: verify cls_rbd::remove_parent handles snapshots
Jason Dillaman [Mon, 20 Apr 2015 18:29:16 +0000 (14:29 -0400)]
tests: verify cls_rbd::remove_parent handles snapshots

When the deep-flatten feature is enabled, the remove_parent
class method should also remove the parent from all snapshots.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agocls_rbd: remove_parent now updates snapshots if deep-flatten enabled
Jason Dillaman [Mon, 20 Apr 2015 18:14:10 +0000 (14:14 -0400)]
cls_rbd: remove_parent now updates snapshots if deep-flatten enabled

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: always deregister child clone from parent with deep flatten
Jason Dillaman [Mon, 20 Apr 2015 17:38:10 +0000 (13:38 -0400)]
librbd: always deregister child clone from parent with deep flatten

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrados_test_stub: support AIO snapshot context
Jason Dillaman [Mon, 20 Apr 2015 16:12:05 +0000 (12:12 -0400)]
librados_test_stub: support AIO snapshot context

AIO operations can be executed with a different snapshot
context from the IoCtx.  librbd takes advantage of this
capability to perform a deep object copyup.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: copyup should use empty snapshot context
Jason Dillaman [Thu, 16 Apr 2015 20:27:56 +0000 (16:27 -0400)]
librbd: copyup should use empty snapshot context

This allows child object to exist through all existing
snapshots as well as HEAD.  If the operation was a CoW,
issue the write ops as a separate RADOS op with the
correct snapshot context.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4523 from ceph/wip-mds-flushsnapack
Yan, Zheng [Thu, 7 May 2015 01:57:03 +0000 (09:57 +0800)]
Merge pull request #4523 from ceph/wip-mds-flushsnapack

mds: send FLUSHSNAP_ACK even if FLUSHSNAP message is unexpected

10 years agolibrbd: move copyup class method call to CopyupRequest
Jason Dillaman [Thu, 16 Apr 2015 18:15:10 +0000 (14:15 -0400)]
librbd: move copyup class method call to CopyupRequest

Move AbstractWrite's invocation of copyup to the CopyupRequest
class.  The AioRequest write path will now always create a
CopyupRequest, which will now append the actual write ops to the
copyup.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: add new deep-flatten RBD feature
Jason Dillaman [Wed, 15 Apr 2015 18:25:08 +0000 (14:25 -0400)]
librbd: add new deep-flatten RBD feature

Copy-on-read/write will now use an empty snapshot context to
deep-copy the object through all existing snapshots.  With the
deep-flatten feature enabled, the flatten operation will now
disconnect a child image from its parent even if it has existing
snapshots.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: fast diff should treat all _EXISTS objects as dirty 4603/head
Jason Dillaman [Thu, 7 May 2015 01:28:25 +0000 (21:28 -0400)]
librbd: fast diff should treat all _EXISTS objects as dirty

With the fast-diff feature enabled, if the object map marks the
object as _EXISTS, it can only occur due to a write -- otherwise
it would be _EXISTS_CLEAN.  Therefore, ensure it is properly
flagged as an updated object for diff_iterate.

Fixes: #11553
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4593 from ceph/wip-librbd-fast-diff
Josh Durgin [Wed, 6 May 2015 22:50:17 +0000 (15:50 -0700)]
Merge pull request #4593 from ceph/wip-librbd-fast-diff

librbd: issues with fast diff discovered via rbd du tool

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4594 from liewegas/wip-librbd-warning
Jason Dillaman [Wed, 6 May 2015 22:11:21 +0000 (18:11 -0400)]
Merge pull request #4594 from liewegas/wip-librbd-warning

librbd: fix warning

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: fix warning 4594/head
Sage Weil [Wed, 6 May 2015 21:01:34 +0000 (14:01 -0700)]
librbd: fix warning

librbd/librbd.cc: In member function 'int librbd::Image::metadata_get(const string&, std::string*)':
librbd/librbd.cc:845:76: warning: suggest braces around empty body in an 'else' statement [-Wempty-body]

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrbd: fast diff of first snapshot loads incorrect object map 4593/head
Jason Dillaman [Wed, 6 May 2015 21:37:58 +0000 (17:37 -0400)]
librbd: fast diff of first snapshot loads incorrect object map

The ImageCtx::snaps collection is stored in newest->oldest order,
so the first snapshot id should be retrieved from the back of the
array.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: fast diff is incorrectly flagging objects as updated
Jason Dillaman [Wed, 6 May 2015 21:31:26 +0000 (17:31 -0400)]
librbd: fast diff is incorrectly flagging objects as updated

If the diff_iterate call doesn't start with the first snapshot,
unmodified objects in future snapshots / HEAD are incorrectly
flagged as modified.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4589 from ceph/wip-11549
Josh Durgin [Wed, 6 May 2015 21:20:30 +0000 (14:20 -0700)]
Merge pull request #4589 from ceph/wip-11549

librbd: ignore lack of support for metadata on older OSDs

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: ignore lack of support for metadata on older OSDs 4589/head
Jason Dillaman [Wed, 6 May 2015 18:48:50 +0000 (14:48 -0400)]
librbd: ignore lack of support for metadata on older OSDs

If an Infernalis librbd attempts to open an image stored on a
pre-Infernalis OSD, the new config metadata operations won't
be supported.  This error can be safely ignored.

Fixes: #11549
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4558 from wonzhq/detect-format
Jason Dillaman [Wed, 6 May 2015 18:55:21 +0000 (14:55 -0400)]
Merge pull request #4558 from wonzhq/detect-format

librbd: fix the image format detection

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4234 from dmitryya/bug_10163
Loic Dachary [Wed, 6 May 2015 18:13:44 +0000 (20:13 +0200)]
Merge pull request #4234 from dmitryya/bug_10163

obj_bencher rados cli: rados bench producing wrong values when different blocksize used in writes and reads

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agorados cli: fix documentation for -b option 4234/head
Dmitry Yatsushkevich [Tue, 7 Apr 2015 23:01:02 +0000 (16:01 -0700)]
rados cli: fix documentation for -b option

Fix focumentation for block size option for rados cli

Signed-off-by: Dmitry Yatsushkevich <dyatsushkevich@mirantis.com>
10 years agoMerge pull request #4527 from SUSE/wip-hack-utf8-into-json-parser
Kefu Chai [Wed, 6 May 2015 14:29:36 +0000 (22:29 +0800)]
Merge pull request #4527 from SUSE/wip-hack-utf8-into-json-parser

json_spirit: use utf8 intenally when parsing \uHHHH

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4572 from ceph/wip-11540
John Spray [Wed, 6 May 2015 13:51:54 +0000 (15:51 +0200)]
Merge pull request #4572 from ceph/wip-11540

test_libcephfs: Fix zero length read tests

Reviewed-by: John Spray <john.spray@redhat.com>
10 years agotest_libcephfs: Fix zero length read tests 4572/head
Haomai Wang [Wed, 6 May 2015 10:45:44 +0000 (18:45 +0800)]
test_libcephfs: Fix zero length read tests

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agojson_spirit: use utf8 intenally when parsing \uHHHH 4527/head
Tim Serong [Fri, 1 May 2015 15:59:53 +0000 (01:59 +1000)]
json_spirit: use utf8 intenally when parsing \uHHHH

When the python CLI is given non-ASCII characters, it converts them to
\uHHHH escapes in JSON.  json_spirit parses these internally into 16 bit
characters, which could only work if json_spirit were built to use
std::wstring, which it isn't; it's using std::string, so the high byte
ends up being zero'd, leaving the low byte which is effectively garbage.

This hack^H^H^H^H change makes json_spirit convert to utf8 internally
instead, which can be stored just fine inside a std::string.

Note that this implementation still assumes \uHHHH escapes are four hex
digits, so it'll only cope with characters in the Basic Multilingual
Plane.  Still, that's rather a lot more characters than it could cope
with before ;)

(For characters outside the BMP, Python seems to generate escapes in the
form \uHHHHHHHH, i.e. 8 hex digits, which the current implementation
doesn't expect to see)

Fixes: #7387
Signed-off-by: Tim Serong <tserong@suse.com>
10 years agoMerge pull request #4353 from ceph/wip-11376-packaging-objstore-tool
Loic Dachary [Wed, 6 May 2015 09:04:24 +0000 (11:04 +0200)]
Merge pull request #4353 from ceph/wip-11376-packaging-objstore-tool

#11376: packaging: mv ceph-objectstore-tool to main ceph pkg

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4508 from dachary/wip-enoent-offset
Loic Dachary [Wed, 6 May 2015 08:54:10 +0000 (10:54 +0200)]
Merge pull request #4508 from dachary/wip-enoent-offset

osd: For write a non-exist erasure object don't offset > 0.

Reviewed-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agoMerge pull request #4548 from dachary/wip-docker-ubuntu-12.04
Kefu Chai [Wed, 6 May 2015 08:44:40 +0000 (16:44 +0800)]
Merge pull request #4548 from dachary/wip-docker-ubuntu-12.04

tests: install sudo on ubuntu-12.04 container

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agolibrbd: fix the image format detection 4558/head
Zhiqiang Wang [Wed, 6 May 2015 08:14:29 +0000 (16:14 +0800)]
librbd: fix the image format detection

If the detection of the old format fails with reasons other than
-ENOENT, we should return with this error. Otherwise, if we continue the
new format detection and fail with -ENOENT, the caller will get the
missleading failure information.

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
10 years agoMerge pull request #4544 from ceph/wip-with-man-pages
Loic Dachary [Wed, 6 May 2015 07:47:49 +0000 (09:47 +0200)]
Merge pull request #4544 from ceph/wip-with-man-pages

Wip with man pages

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4555 from zzxuanyuan/wip-11534-incorrect-osdsum-size
Kefu Chai [Wed, 6 May 2015 06:32:21 +0000 (14:32 +0800)]
Merge pull request #4555 from zzxuanyuan/wip-11534-incorrect-osdsum-size

mon: Total size of OSDs is a magnitude less than it is supposed to be.

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoconfigure.ac: no use to add "+" before ac_ext=c 4544/head
Kefu Chai [Tue, 5 May 2015 07:07:33 +0000 (15:07 +0800)]
configure.ac: no use to add "+" before ac_ext=c

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoconfigure.ac: add an option: --with-man-pages
Kefu Chai [Mon, 4 May 2015 16:26:31 +0000 (00:26 +0800)]
configure.ac: add an option: --with-man-pages

* do not require sphinx-build if --without-man-pages
* dist rst files for man pages
* build and dist .8 files if sphinx-build is found

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoceph-disk: use ceph-detect-init instead of hard coded values 4532/head
Loic Dachary [Fri, 1 May 2015 14:46:48 +0000 (16:46 +0200)]
ceph-disk: use ceph-detect-init instead of hard coded values

The ceph-detect-init implements the same detection logic as ceph-deploy.
It is better than the current hardcoded values that assume Ubuntu is
upstart and all the rest is sysvinit.

Signed-off-by: Owen Synge <osynge@suse.com>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agotests: ceph-disk.sh must exit 1 on error
Loic Dachary [Sat, 2 May 2015 15:20:47 +0000 (17:20 +0200)]
tests: ceph-disk.sh must exit 1 on error

The test for error was reversed and ceph-disk.sh always returned on the
the first successfull test, with no error.

And add verbosity to help with debugging.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoceph-detect-init: package for rpm and debian
Loic Dachary [Sat, 2 May 2015 15:19:11 +0000 (17:19 +0200)]
ceph-detect-init: package for rpm and debian

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoceph-detect-init: integration with automake / make check
Loic Dachary [Sat, 2 May 2015 15:17:24 +0000 (17:17 +0200)]
ceph-detect-init: integration with automake / make check

* Add the files to the distribution tarbal via EXTRA_DIST
* Build the module via the all-local target
* Add run-tox.sh to the tests run via make check
* Add manual page

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoceph-disk: implement activate --no-start-daemon
Loic Dachary [Sat, 2 May 2015 15:05:09 +0000 (17:05 +0200)]
ceph-disk: implement activate --no-start-daemon

And improve the --mark-init documentation as well.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoceph-disk: pep8 conformance
Loic Dachary [Sat, 2 May 2015 15:03:33 +0000 (17:03 +0200)]
ceph-disk: pep8 conformance

And remove misleading comment.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoceph-detect-init: ceph-disk helper to select the init system
Loic Dachary [Sat, 2 May 2015 14:25:22 +0000 (16:25 +0200)]
ceph-detect-init: ceph-disk helper to select the init system

On Ubuntu 14.04

$ ceph-detect-init --default=sysvinit
upstart

The ceph-detect-init helper is a copy/paste of the ceph-deploy init
system detection found at:

https://github.com/ceph/ceph-deploy/blob/4992ef0993c5ab41710c1f1e126886d43c78cc3a/ceph_deploy/hosts/__init__.py#L15

It is meant to be used by both ceph-disk and ceph-deploy to avoid
duplicating the logic. Some operating systems implement more than one
init system and ceph-detect-init will not return the default one, it
will return the init system suitable for ceph deployment.

ceph-detect-init is implemented as a standalone python module suitable
to be published at https://pypi.python.org/pypi/ceph-detect-init, with
unit tests and integration tests (based on docker) for the following
platforms:

centos-6
centos-7
debian-jessie
debian-sid
debian-squeeze
debian-wheezy
fedora-21
opensuse-13.1
opensuse-13.2
ubuntu-12.04
ubuntu-14.04
ubuntu-15.04

The tests can be run without network access with run-tox.sh, provided
pip wheel previously populated the wheelhouse directory.

Signed-off-by: Owen Synge <osynge@suse.com>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: Total size of OSDs is a maginitude less than it is supposed to be. 4555/head
Zhe Zhang [Tue, 5 May 2015 23:08:48 +0000 (18:08 -0500)]
mon: Total size of OSDs is a maginitude less than it is supposed to be.

When dumping statistics of OSDs such as running command "ceph osd df",
the sum of OSDs' size is 2^10 times less than their real size.

Signed-off-by: Zhe Zhang <zzxuanyuan@gmail.com>
10 years agoobj_bencher: aio_bench - rename op_size to object_size
Dmitry Yatsushkevich [Thu, 2 Apr 2015 18:21:05 +0000 (11:21 -0700)]
obj_bencher: aio_bench - rename op_size to object_size

Rename aio_bench argument 'op_size' to 'object_size' to reflect the reality of
how it is used.

Signed-off-by: Dmitry Yatsushkevich <dyatsushkevich@mirantis.com>
10 years agorados cli: add preventing using --block-size with bench seq and rand
Dmitry Yatsushkevich [Mon, 30 Mar 2015 23:48:33 +0000 (16:48 -0700)]
rados cli: add preventing using --block-size with bench seq and rand

Add handling of situation when '-b|--block-size' option is using with
'bench seq' or 'bench rand' which is erroneous according to the help message:
     -b op_size
            set the size of write ops for put or benchmarking

Fixes: #10163
Signed-off-by: Dmitry Yatsushkevich <dyatsushkevich@mirantis.com>
10 years agoobj_bencher: remove excess 'object_size = op_size'
Dmitry Yatsushkevich [Mon, 30 Mar 2015 22:23:13 +0000 (15:23 -0700)]
obj_bencher: remove excess 'object_size = op_size'

Remove excess branch 'else {object_size = op_size;}' from
'if(operation != OP_WRITE){...}else{object_size = op_size;}' because
'object_size' variable already initialized with 'op_size'

Signed-off-by: Dmitry Yatsushkevich <dyatsushkevich@mirantis.com>
10 years agoobj_bencher: remove 'trans_size' as obsolete
Dmitry Yatsushkevich [Mon, 30 Mar 2015 22:13:38 +0000 (15:13 -0700)]
obj_bencher: remove 'trans_size' as obsolete

'trans_size' description from header: "size of the write/read to perform"
But really 'object_size' is used in write/read operations. 'trans_size' is used
only in ObjBencher::status_printer for calc current and average bandwidth.
As result - bad statistics in case 'trans_size' and and 'object_size' are different.

Signed-off-by: Dmitry Yatsushkevich <dyatsushkevich@mirantis.com>
10 years agoMerge pull request #4554 from liewegas/wip-cleanup
Sage Weil [Tue, 5 May 2015 21:47:42 +0000 (14:47 -0700)]
Merge pull request #4554 from liewegas/wip-cleanup

9.0.0 release notes, scripts cleanup

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc/release-notes: 9.0.0 4554/head
Sage Weil [Tue, 5 May 2015 21:37:04 +0000 (14:37 -0700)]
doc/release-notes: 9.0.0

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agosrc/script: remove obsolete scripts
Sage Weil [Tue, 5 May 2015 18:28:25 +0000 (11:28 -0700)]
src/script: remove obsolete scripts

These are mostly from gather graph data for very early versions of ceph and
are not useful anymore.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4550 from ktdreyer/wip-submittingpatches-backports
Loic Dachary [Tue, 5 May 2015 17:42:21 +0000 (19:42 +0200)]
Merge pull request #4550 from ktdreyer/wip-submittingpatches-backports

SubmittingPatches: clarify backport procedure

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoSubmittingPatches: clarify backport procedure 4550/head
Ken Dreyer [Tue, 5 May 2015 17:25:46 +0000 (11:25 -0600)]
SubmittingPatches: clarify backport procedure

Developers should not add "Backport: " fields to Git commits, because
this data is immutable after the commits are merged. It makes more sense
to handle this information in Redmine instead.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoautomake: allow multiple {install,all,...}-local targets
Loic Dachary [Sat, 2 May 2015 14:16:57 +0000 (16:16 +0200)]
automake: allow multiple {install,all,...}-local targets

Replace install-data-local: with install-data-local:: (two :) so that
other Makefile.am can have the same target and all get concatenated
instead of being overridden.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agobuild: make-debs.sh NPROC overrides make -j
Loic Dachary [Sat, 2 May 2015 14:11:51 +0000 (16:11 +0200)]
build: make-debs.sh NPROC overrides make -j

Building a package is disk intensive and running make -j8 on a machine
with a spinner can actually be slower than make. NPROC=1 make-deb.sh
overrides the default value of make -jX.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoinstall-deps.sh: pip wheel for python dependencies
Loic Dachary [Sat, 2 May 2015 13:59:12 +0000 (15:59 +0200)]
install-deps.sh: pip wheel for python dependencies

For all tox.ini in the source tree which also have requirement.txt
files, create a wheelhouse with the dependencies. This allows tox to
setup test environment with no access to the network with something
like (in tox.ini):

        deps =
          --use-wheel
          --find-links={toxinidir}/wheelhouse
          -r{toxinidir}/requirements.txt
          -r{toxinidir}/test-requirements.txt

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Tue, 5 May 2015 16:53:51 +0000 (09:53 -0700)]
Merge remote-tracking branch 'gh/next'

10 years agoMerge pull request #4530 from ceph/wip-librbd-clean-object
Josh Durgin [Tue, 5 May 2015 16:15:49 +0000 (09:15 -0700)]
Merge pull request #4530 from ceph/wip-librbd-clean-object

librbd: object map is not properly updated when deleting clean objects

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agotests: install sudo on ubuntu-12.04 container 4548/head
Loic Dachary [Tue, 5 May 2015 16:05:01 +0000 (18:05 +0200)]
tests: install sudo on ubuntu-12.04 container

Contrary to Ubuntu 14.04 it is not installed by default.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agotests: erasure coded pools do not allow offset on creation 4508/head
Loic Dachary [Thu, 30 Apr 2015 00:06:20 +0000 (02:06 +0200)]
tests: erasure coded pools do not allow offset on creation

If a write operation implicitly creates an object on an erasure coded
pool, there cannot be an offset > 0, even if it is properly aligned.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoosd: refuse to write a new erasure coded object with an offset > 0
Jianpeng Ma [Fri, 6 Mar 2015 07:54:07 +0000 (15:54 +0800)]
osd: refuse to write a new erasure coded object with an offset > 0

Even if the offset is properly aligned.

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

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agorados: Tell that pool removal failed. Not that it doesn't exist.
Wido den Hollander [Tue, 5 May 2015 12:22:43 +0000 (14:22 +0200)]
rados: Tell that pool removal failed. Not that it doesn't exist.

If removing a pool fails it could have various reasons. The pool
might be protected from removal (nodelete flag).

10 years agoMerge pull request #4542 from liewegas/wip-sepia
Loic Dachary [Tue, 5 May 2015 07:14:06 +0000 (09:14 +0200)]
Merge pull request #4542 from liewegas/wip-sepia

sepia

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoAsyncConnection: Avoid lockdep detect failed 4543/head
Haomai Wang [Tue, 5 May 2015 05:58:39 +0000 (13:58 +0800)]
AsyncConnection: Avoid lockdep detect failed

Previously we used a atomic field to avoid deadlock, but it still let lockdep
detect failed. So we remove the atomic field and unlock connection firstly.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoAsyncConnection: Don't dispatch event when connection is stopped
Haomai Wang [Tue, 5 May 2015 05:53:23 +0000 (13:53 +0800)]
AsyncConnection: Don't dispatch event when connection is stopped

When marking down connection, previously we will call stop which will dispatch event
regardless of the staus of the connection. If this connection is already down and
its events all has cleaned, we will hit NULL event.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoMerge pull request #4387 from wonzhq/async-comp
Josh Durgin [Tue, 5 May 2015 02:15:34 +0000 (19:15 -0700)]
Merge pull request #4387 from wonzhq/async-comp

librbd: don't notify_change on r == -ERESTART when notify async complete

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: don't notify_change on error when notify async complete 4387/head
Zhiqiang Wang [Fri, 17 Apr 2015 07:15:54 +0000 (15:15 +0800)]
librbd: don't notify_change on error when notify async complete

Don't need to increment the refresh_seq since the async op fails.

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>