Commit Graph

41464 Commits

Author SHA1 Message Date
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
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
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
Kefu Chai
71bf5f1eb3 mon: add 'node ls {all,mds,mon,osd}' asok
Fixes: #10904
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-07 07:29:39 -07:00
Kefu Chai
79439d43a8 mds,mon: add 'mds metadata' command
Related: #10904
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-07 07:29:39 -07:00
Kefu Chai
73390d2e0c mon: extract gid_from_arg() out of fail_mds()
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-07 07:29:39 -07:00
Kefu Chai
1b0386b2e1 mon: add "mon_metadata <id>" command
Related: #10904
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-07 07:29:39 -07:00
Kefu Chai
0e3bee688e osd: extract collect_sys_info() out of OSD::_collect_metadata()
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-07 07:29:39 -07: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
Jason Dillaman
9fd708b1a0 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>
2015-05-06 22:07:44 -04:00
Yan, Zheng
d20a387788 Merge pull request #4523 from ceph/wip-mds-flushsnapack
mds: send FLUSHSNAP_ACK even if FLUSHSNAP message is unexpected
2015-05-07 09:57:03 +08:00
Jason Dillaman
7be3df6780 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>
2015-05-06 21:51:31 -04:00
Jason Dillaman
b556d3173a 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>
2015-05-06 21:51:31 -04:00
Jason Dillaman
819c9800df 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>
2015-05-06 21:28:25 -04:00
Josh Durgin
ca5c4a34ce 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>
2015-05-06 15:50:17 -07:00
Jason Dillaman
1fc4b1bbbc Merge pull request #4594 from liewegas/wip-librbd-warning
librbd: fix warning

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2015-05-06 18:11:21 -04:00
Sage Weil
fc428372a3 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>
2015-05-06 14:41:38 -07:00