Commit Graph

41401 Commits

Author SHA1 Message Date
Jason Dillaman
ee54e71d09 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>
2015-05-08 13:32:09 -04:00
Jason Dillaman
8cbd92b1fe 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>
2015-05-07 19:03:09 -04:00
Kefu Chai
a23933e4cc 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>
2015-05-08 18:26:09 +08:00
Kefu Chai
6c2182deb2 Merge pull request #4616 from ceph/wip-fix-FTBFS-boost-1.58
mon: remove unused variable

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-05-08 18:18:05 +08:00
Kefu Chai
3222417451 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>
2015-05-08 16:51:09 +08:00
Loic Dachary
0e26e9f72b 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>
2015-05-08 10:31:00 +02:00
Kefu Chai
e7b196a4a0 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>
2015-05-08 16:01:23 +08:00
Loic Dachary
c255e809fa 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>
2015-05-08 09:46:02 +02:00
Loic Dachary
7b28a6fd87 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>
2015-05-08 08:59:34 +02:00
Gregory Farnum
4a68b737da 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>
2015-05-07 21:55:36 -07:00
Kefu Chai
6b68b27146 json_sprit: fix the FTBFS on old gcc
Fixes: #11574
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-08 12:01:19 +08:00
Haomai Wang
eb32123508 Merge pull request #4611 from yuyuyu101/wip-async-fix-9
AsyncConnection: verify connection's state is expected
2015-05-08 11:00:08 +08:00
Haomai Wang
74f3b5c3a0 AsyncConnection: verify connection's state is expected
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-05-08 10:24:37 +08:00
Yan, Zheng
125ab922d1 Merge pull request #4604 from ceph/wip-11568
#11568: fix error handling in check_pool_perm
2015-05-08 09:13:26 +08:00
Josh Durgin
4ccb644981 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>
2015-05-07 17:18:15 -07:00
Yuri Weinstein
13abae1863 Added a "ceph hello world" for a simple check for ceph-deploy qa suite
Signed-off-by: Yuri Weinstein <yuri.weinstein@inktank.com>
2015-05-07 17:12:35 -07:00
Gregory Farnum
18617567a2 Merge pull request #4520 from ceph/wip-mds-damage-handling
MDS: improve handling of damaged metadata

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-05-07 16:26:57 -07:00
Gregory Farnum
c7a0f9c832 Merge pull request #4607 from dachary/wip-11532-limits
tests: need 1024 files per process not 100024

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-05-07 16:18:40 -07:00
Loic Dachary
f36bd0e967 tests: need 1024 files per process not 100024
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-08 01:14:47 +02:00
Gregory Farnum
27c1982757 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>
2015-05-07 15:59:52 -07:00
Loic Dachary
0e9598635d 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>
2015-05-08 00:55:55 +02:00
Sage Weil
19eb2010e2 Merge pull request #4599 from dachary/wip-releases
release cycle / timeline updates

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-07 14:19:38 -07:00
Loic Dachary
0c715f6971 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>
2015-05-07 22:21:26 +02:00
John Spray
e08cf25caf 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>
2015-05-07 18:46:38 +01:00
John Spray
289ee3b80c client: use SaferCond in check_pool_perm
Just because it's easier to read.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-07 18:46:38 +01:00
Haomai Wang
25c23c30de Merge pull request #4543 from yuyuyu101/wip-async-fix-8
Wip async fix 8
2015-05-08 00:27:03 +08:00
Orit Wasserman
95c2187592 Merge pull request #4003 from ceph/wip-fix-cmake-nss
Fix nss for cmake
2015-05-07 18:14:57 +02:00
Kefu Chai
410175be89 Merge pull request #3743 from trociny/wip-osd_create
mon: osd create: add optional 'id' parameter

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
2015-05-08 00:13:37 +08:00
Josh Durgin
e1d0f2f193 Merge pull request #4422 from ceph/wip-10154
librbd: deep-flatten of cloned images

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-05-07 08:29:25 -07:00
Loic Dachary
ac89b8fccf 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>
2015-05-07 17:09:18 +02:00
Danny Al-Gaaf
7289542760 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>
2015-05-07 13:26:23 +02:00
Danny Al-Gaaf
4bb8843476 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>
2015-05-07 13:26:18 +02:00
Danny Al-Gaaf
67e2caa6fe 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>
2015-05-07 13:23:37 +02:00
Danny Al-Gaaf
ff4993310f 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>
2015-05-07 13:19:50 +02:00
John Spray
a7ffd8d19b Merge pull request #4460 from yuyuyu101/wip-fix-pycephfs
Libcephfs: Add python bindings

Reviewed-by: John Spray <john.spray@redhat.com>
2015-05-07 11:58:26 +02:00
Loic Dachary
2801c1b52f 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>
2015-05-07 10:48:29 +02:00
Loic Dachary
d776f93ddc doc: add v9.0.0 to the release timeline
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-07 10:29:38 +02:00
Loic Dachary
2c62430cb9 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>
2015-05-07 10:28:48 +02:00
Loic Dachary
d21d545f9c doc: fix releases broken links
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-07 10:27:11 +02:00
Jason Dillaman
6b0bdc3891 librbd: copyup now optionally updates the snapshot object maps
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-06 22:07:46 -04:00
Jason Dillaman
a1eab0f839 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>
2015-05-06 22:07:46 -04:00
Jason Dillaman
6511eb071f librbd: AsyncRequest is now optional for AsyncObjectThrottle
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-06 22:07:46 -04:00
Jason Dillaman
d5b4e7827d librbd: progress context is now optional for AsyncObjectThrottle
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-06 22:07:46 -04:00
Jason Dillaman
f76f772006 tests: verify object map is updated after full copyup
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-06 22:07:46 -04:00
Jason Dillaman
e2be3416ea 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>
2015-05-06 22:07:46 -04:00
Jason Dillaman
64cbd901ae tests: add new feature code to rbd test list
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-06 22:07:46 -04:00
Jason Dillaman
e01a064f44 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>
2015-05-06 22:07:46 -04:00
Jason Dillaman
9632cbac7b cls_rbd: remove_parent now updates snapshots if deep-flatten enabled
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-06 22:07:46 -04:00
Jason Dillaman
bc66b7849a librbd: always deregister child clone from parent with deep flatten
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-05-06 22:07:46 -04:00
Jason Dillaman
12719478ad 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>
2015-05-06 22:07:46 -04:00