]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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 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 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 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>
10 years agoMerge pull request #4539 from athanatos/wip-11429
Samuel Just [Mon, 4 May 2015 23:36:32 +0000 (16:36 -0700)]
Merge pull request #4539 from athanatos/wip-11429

OSD: handle the case where we resurrected an old, deleted pg

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agodoc: link to sepia report for lab info 4542/head
Sage Weil [Mon, 4 May 2015 23:34:37 +0000 (16:34 -0700)]
doc: link to sepia report for lab info

Signed-off-by: Sage Weil <sage@redhat.com>
10 years ago9.0.0 v9.0.0
Jenkins [Mon, 4 May 2015 19:32:59 +0000 (12:32 -0700)]
9.0.0

10 years agoMerge pull request #4537 from majianpeng/buffer-fix
Gregory Farnum [Mon, 4 May 2015 18:03:08 +0000 (11:03 -0700)]
Merge pull request #4537 from majianpeng/buffer-fix

bufferptr: Offset should not beyond raw_length rather than _len.

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoman: do not dist man pages if sphinx is not available
Kefu Chai [Mon, 4 May 2015 17:57:17 +0000 (01:57 +0800)]
man: do not dist man pages if sphinx is not available

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agotest_async_driver: add dispatch_external_event tests
Haomai Wang [Mon, 4 May 2015 17:22:53 +0000 (01:22 +0800)]
test_async_driver: add dispatch_external_event tests

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoconfigure.ac: do not check for sphinx-build 4538/head
Kefu Chai [Mon, 4 May 2015 16:31:50 +0000 (00:31 +0800)]
configure.ac: do not check for sphinx-build

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agopycephfs: add tests for open call 4460/head
Haomai Wang [Mon, 4 May 2015 16:07:18 +0000 (00:07 +0800)]
pycephfs: add tests for open call

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agotest/bufferlist: add test case for bufferlist::splice. 4537/head
Jianpeng Ma [Mon, 4 May 2015 16:11:47 +0000 (00:11 +0800)]
test/bufferlist: add test case for bufferlist::splice.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agotest_pycephfs: Fix tests for pycephfs
Haomai Wang [Mon, 4 May 2015 16:02:02 +0000 (00:02 +0800)]
test_pycephfs: Fix tests for pycephfs

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agopycephfs: add padding buffer to statvfs to avoid os extend
Haomai Wang [Mon, 4 May 2015 15:58:52 +0000 (23:58 +0800)]
pycephfs: add padding buffer to statvfs to avoid os extend

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agopycephfs: add read/write support
Haomai Wang [Thu, 30 Apr 2015 16:16:30 +0000 (00:16 +0800)]
pycephfs: add read/write support

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agotest_pycephfs: Add tests for open call
Haomai Wang [Thu, 30 Apr 2015 14:51:26 +0000 (22:51 +0800)]
test_pycephfs: Add tests for open call

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agopycephfs: Let open call's flags imitate python open
Haomai Wang [Mon, 4 May 2015 16:05:31 +0000 (00:05 +0800)]
pycephfs: Let open call's flags imitate python open

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agobufferptr: Offset should not beyond raw_length rather than _len.
Jianpeng Ma [Mon, 4 May 2015 13:36:14 +0000 (21:36 +0800)]
bufferptr: Offset should not beyond raw_length rather than _len.

Fixes: #11526
Commit dfccd3d19c introduce this bug"
./include/buffer.h: 240: FAILED assert(_len >= o)

 ceph version 0.94-1402-g5ac962d
(5ac962d879d920805bd661857592860caae27f2b)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char
const*)+0x80) [0x1640e50]
 2: (ceph::buffer::ptr::set_offset(unsigned int)+0x3a) [0x1647462]
 3: (ceph::buffer::list::splice(unsigned int, unsigned int,
ceph::buffer::list*)+0x238) [0x16458ba]
 4: (JournalStream::read(ceph::buffer::list&, ceph::buffer::list*,
unsigned long*)+0x17c) [0x145588e]
 5: (Journaler::try_read_entry(ceph::buffer::list&)+0x1ef) [0x1453d65]
 6: (MDLog::_replay_thread()+0xc6a) [0x1434200]
 7: (MDLog::ReplayThread::entry()+0x1c) [0x10f0d88]
 8: (Thread::entry_wrapper()+0xa8) [0x16310ee]
 9: (Thread::_entry_func(void*)+0x18) [0x163103c]
 10: /lib64/libpthread.so.0() [0x334c607ee5]
 11: (clone()+0x6d) [0x334bef4d1d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is
needed to interpret this.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agoMerge pull request #4514 from majianpeng/rbd
Josh Durgin [Mon, 4 May 2015 15:32:04 +0000 (08:32 -0700)]
Merge pull request #4514 from majianpeng/rbd

misc bugs in librbd

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4534 from tchaikov/wip-silence-gcc-warning
Loic Dachary [Mon, 4 May 2015 15:01:41 +0000 (17:01 +0200)]
Merge pull request #4534 from tchaikov/wip-silence-gcc-warning

osd: silence gcc -Wparentheses warning

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoosd: silence gcc -Wparentheses warning 4534/head
Kefu Chai [Mon, 4 May 2015 06:45:11 +0000 (14:45 +0800)]
osd: silence gcc -Wparentheses warning

otherwise we have following warning:
warning: suggest parentheses around operand of ‘!’ or change ‘|’ to
‘||’ or ‘!’ to ‘~’ [-Wparentheses]

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agocommon/CompatSet: mark FeatureSet member vars private
Kefu Chai [Mon, 4 May 2015 09:46:11 +0000 (17:46 +0800)]
common/CompatSet: mark FeatureSet member vars private

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agolibrbd: For format 2, don't forget set objectcache max objects. 4514/head
Jianpeng Ma [Tue, 28 Apr 2015 05:12:47 +0000 (13:12 +0800)]
librbd: For format 2, don't forget set objectcache max objects.

For format 2, before create object_cache, it call init_layout and set
the max object for object cache.
In the later ictx_refresh, it only set for format1.
Now move set logic after creating object cache.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agorbd: updated the 'rbd --help'
Jianpeng Ma [Mon, 4 May 2015 02:54:00 +0000 (10:54 +0800)]
rbd: updated the 'rbd --help'

Now default format is 2. update 'rbd --help'.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agolibrbd: remove the perfcounter l_librbd_aio_rd/write/discard_*.
Jianpeng Ma [Fri, 24 Apr 2015 06:47:28 +0000 (14:47 +0800)]
librbd: remove the perfcounter l_librbd_aio_rd/write/discard_*.

Now for non-aio read/write/discard, the internal implementation used the
related aio function. So we don't differentiate the aio perfcounter from non-aio for
read/write/discard operations.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agolibrbd: Remove the redundant judgement.
Jianpeng Ma [Fri, 24 Apr 2015 05:34:47 +0000 (13:34 +0800)]
librbd: Remove the redundant judgement.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agolibrbd: Remove the redundant judgement.
Jianpeng Ma [Fri, 24 Apr 2015 05:28:02 +0000 (13:28 +0800)]
librbd: Remove the redundant judgement.

For ObjectExtent, if length == object_size, it mean length=0.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agoPreforker: include acconfig so includers don't have to
Josh Durgin [Sat, 2 May 2015 03:26:34 +0000 (20:26 -0700)]
Preforker: include acconfig so includers don't have to

Fixes build of systests

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4524 from ceph/wip-remove-fsx-c
Josh Durgin [Sat, 2 May 2015 01:48:00 +0000 (18:48 -0700)]
Merge pull request #4524 from ceph/wip-remove-fsx-c

test: update CMakefile to sync with c44f8e7

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4518 from yuyuyu101/wip-fix-systest-runnable
Josh Durgin [Sat, 2 May 2015 01:43:05 +0000 (18:43 -0700)]
Merge pull request #4518 from yuyuyu101/wip-fix-systest-runnable

systest_runnable: Use Preforker to do fork

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4519 from ceph/wip-flush-log
Gregory Farnum [Fri, 1 May 2015 20:58:19 +0000 (13:58 -0700)]
Merge pull request #4519 from ceph/wip-flush-log

Flush cluster log before MDS::damaged

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #4529 from ceph/wip-librbd-open
Josh Durgin [Fri, 1 May 2015 20:55:33 +0000 (13:55 -0700)]
Merge pull request #4529 from ceph/wip-librbd-open

librbd: invoking RBD::open twice will leak memory

Reviewed-by: Josh Durgin <jdurgin@redhat.com>