]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agodoc: more entries for release notes in v0.94.2 4646/head
Abhishek Lekshmanan [Mon, 11 May 2015 16:16:33 +0000 (21:46 +0530)]
doc: more entries for release notes in v0.94.2

Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@ril.com>
10 years agodoc: release notes for hammer v0.94.2 4551/head
Abhishek Lekshmanan [Mon, 11 May 2015 12:40:59 +0000 (18:10 +0530)]
doc: release notes for hammer v0.94.2

Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@ril.com>
Conflicts:
doc/release-notes.rst

10 years agoMerge pull request #4624 from rajukv/wip-xio-rajukv
Kefu Chai [Mon, 11 May 2015 07:12:34 +0000 (15:12 +0800)]
Merge pull request #4624 from rajukv/wip-xio-rajukv

xio: Update XIO client connection IP and nonce

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4620 from yuyuyu101/wip-async-fix-10
Haomai Wang [Mon, 11 May 2015 05:48:59 +0000 (13:48 +0800)]
Merge pull request #4620 from yuyuyu101/wip-async-fix-10

AsyncConnection: Avoid assert since replacing may inject when unlock

10 years agoUpdate XIO client connection IP and nonce 4624/head
Raju Kurunkad [Tue, 5 May 2015 14:10:38 +0000 (19:40 +0530)]
Update XIO client connection IP and nonce

Obtain the local IP of the client and save the nonce provided when the messenger was created. This is required for RBD lock/unlock
Fix script error in RBD concurrent test
Reset did_bind during messenger shutdown

Signed-off-by: Raju Kurunkad <raju.kurunkad@sandisk.com>
10 years agoMerge pull request #4640 from SUSE/wip-rbd-recover-tool-typo-fix
Loic Dachary [Sun, 10 May 2015 18:16:30 +0000 (20:16 +0200)]
Merge pull request #4640 from SUSE/wip-rbd-recover-tool-typo-fix

doc: rbd-recover-tool: fix typos in comments

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4637 from SUSE/wip-rados-gw-comment-fix
Loic Dachary [Sun, 10 May 2015 18:13:37 +0000 (20:13 +0200)]
Merge pull request #4637 from SUSE/wip-rados-gw-comment-fix

doc: rgw: fix typo in comments

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: rbd-recover-tool: fix typos in comments 4640/head
Nathan Cutler [Sun, 10 May 2015 16:26:52 +0000 (18:26 +0200)]
doc: rbd-recover-tool: fix typos in comments

Signed-off-by: Nathan Cutler <ncutler@suse.cz>
10 years agodoc: rgw: fix typo in comments 4637/head
Nathan Cutler [Sun, 10 May 2015 16:17:53 +0000 (18:17 +0200)]
doc: rgw: fix typo in comments

Signed-off-by: Nathan Cutler <ncutler@suse.cz>
10 years agoMerge pull request #4628 from dachary/wip-releases
Sage Weil [Fri, 8 May 2015 22:01:52 +0000 (15:01 -0700)]
Merge pull request #4628 from dachary/wip-releases

doc: add release numbering explanation

10 years agodoc: add release numbering explanation 4628/head
Loic Dachary [Fri, 8 May 2015 20:27:27 +0000 (22:27 +0200)]
doc: add release numbering explanation

Mostly copy pasted from Sage's email "The first infernalis dev release
will be v9.0.0".

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: move the release cycle after the timeline
Loic Dachary [Fri, 8 May 2015 20:25:21 +0000 (22:25 +0200)]
doc: move the release cycle after the timeline

The timeline is a useful reference and the reader should not have to
scroll down to see it. Move the release cycle after the timeline.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4541 from jbernard/master
Josh Durgin [Fri, 8 May 2015 18:50:38 +0000 (11:50 -0700)]
Merge pull request #4541 from jbernard/master

common/admin_socket: close socket descriptor in destructor

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4623 from ceph/wip-11577
Josh Durgin [Fri, 8 May 2015 18:44:35 +0000 (11:44 -0700)]
Merge pull request #4623 from ceph/wip-11577

librbd: possible deadlock during copyup

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: object map clean state valid only for fast-diff 4623/head
Jason Dillaman [Fri, 8 May 2015 14:30:22 +0000 (10:30 -0400)]
librbd: object map clean state valid only for fast-diff

The deep-flatten feature bit is incorrectly used to determine
whether to set the object map to clean.  It should use the
fast-diff feature bit.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agocommon/admin_socket: close socket descriptor in destructor 4541/head
Jon Bernard [Fri, 8 May 2015 15:54:06 +0000 (11:54 -0400)]
common/admin_socket: close socket descriptor in destructor

Long-running processes that do not reuse a single client connection will
see accumulating file descriptors as a result of not closing the
listening socket.  In this case, eventually the system will reach
file-max and subsequent connections will fail.

Fixes: #11535
Signed-off-by: Jon Bernard <jbernard@tuxion.com>
10 years agoAsyncConnection: Avoid assert since replacing may inject when unlock 4620/head
Haomai Wang [Fri, 8 May 2015 14:56:49 +0000 (22:56 +0800)]
AsyncConnection: Avoid assert since replacing may inject when unlock

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoMerge pull request #4621 from dachary/wip-pip-timeout
Kefu Chai [Fri, 8 May 2015 15:49:46 +0000 (23:49 +0800)]
Merge pull request #4621 from dachary/wip-pip-timeout

install-deps.sh: increase pip install timeout

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4601 from oritwas/nss-cmake
Yehuda Sadeh [Fri, 8 May 2015 15:19:41 +0000 (08:19 -0700)]
Merge pull request #4601 from oritwas/nss-cmake

cmake fixes

10 years agoinstall-deps.sh: increase pip install timeout 4621/head
Loic Dachary [Fri, 8 May 2015 15:06:25 +0000 (17:06 +0200)]
install-deps.sh: increase pip install timeout

It is not uncommon for pip install to timeout with:

   Cannot fetch index base URL https://pypi.python.org/simple

because the default timeout is 15 seconds. When running from a CI, it
translates into bursts of false negatives when the network is saturated.

Increase the timeout to 10 minutes which is hopefully large enough to
only happen when there is a serious network problem.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4588 from dachary/wip-11398-kill-daemons
Kefu Chai [Fri, 8 May 2015 10:26:09 +0000 (18:26 +0800)]
Merge pull request #4588 from dachary/wip-11398-kill-daemons

tests: ceph-helpers kill_daemons fails when kill fails

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4616 from ceph/wip-fix-FTBFS-boost-1.58
Kefu Chai [Fri, 8 May 2015 10:18:05 +0000 (18:18 +0800)]
Merge pull request #4616 from ceph/wip-fix-FTBFS-boost-1.58

mon: remove unused variable

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agocmake: add common_utf8 lib to link unittest_str_map 4601/head
Orit Wasserman [Thu, 7 May 2015 09:01:45 +0000 (11:01 +0200)]
cmake: add common_utf8 lib to link unittest_str_map

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
10 years agocmake: Add missing pthread lib
Orit Wasserman [Thu, 7 May 2015 08:36:29 +0000 (10:36 +0200)]
cmake: Add missing pthread lib

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
10 years agocmake add mds and librbd missing files
Orit Wasserman [Thu, 7 May 2015 09:11:12 +0000 (11:11 +0200)]
cmake add mds and librbd missing files

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
10 years agocmake: add crc assembley files
Orit Wasserman [Thu, 7 May 2015 09:16:31 +0000 (11:16 +0200)]
cmake: add crc assembley files

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
10 years agoMerge pull request #4615 from dachary/wip-11575-pip-log
Kefu Chai [Fri, 8 May 2015 08:51:09 +0000 (16:51 +0800)]
Merge pull request #4615 from dachary/wip-11575-pip-log

tests: pip must not log in $HOME/.pip

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agotests: ceph-helpers kill_daemons fails when kill fails 4588/head
Loic Dachary [Wed, 6 May 2015 18:14:37 +0000 (20:14 +0200)]
tests: ceph-helpers kill_daemons fails when kill fails

Instead of silently leaving the daemons running, it returns failure so
the caller can decide what to do with this situation. The timeout is
also extended to minutes instead of seconds to gracefully handle the
rare situations when a machine is extra slow for some reason.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
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 agoinstall-deps.sh: exit on error if dependencies cannot be installed 4615/head
Loic Dachary [Fri, 8 May 2015 07:19:44 +0000 (09:19 +0200)]
install-deps.sh: exit on error if dependencies cannot be installed

Now that pre-installing pip dependencies is done at the end of the
script, the last command to run is no longer the installation
command. Therefore the status of the script is no longer the status of
the install command and no longer reflect success or failure to install
the dependencies. Add explicit || exit 1 to commands that are to be
treated as fatal errors.

Also set -e so that another error has a better chance to be caught.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agotests: pip must not log in $HOME/.pip
Loic Dachary [Fri, 8 May 2015 06:57:24 +0000 (08:57 +0200)]
tests: pip must not log in $HOME/.pip

Because it may not have permission to when running in a container and
scripts run from source are not expected to modify anything outside of
the source tree anyway.

Signed-off-by: Loic Dachary <loic@dachary.org>
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 agolibrbd: ObjectMap::aio_update can acquire snap_lock out-of-order
Jason Dillaman [Thu, 30 Apr 2015 19:32:38 +0000 (15:32 -0400)]
librbd: ObjectMap::aio_update can acquire snap_lock out-of-order

Detected during an fsx run where a refresh and CoR were occurring
concurrently.  The refresh held the snap_lock and was waiting on
the object_map_lock, while the CoR held object_map_lock and was
waiting for snap_lock.

Fixes: #11577
Signed-off-by: Jason Dillaman <dillaman@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>