Commit Graph

40861 Commits

Author SHA1 Message Date
Boris Ranto
0b264331f5 rgw/Makefile.am: Populate DENCODER_SOURCES properly
Dencoder is built if ENABLE_CLIENT is set. However, the rgw/Makefile.am
populated DENCODER_SOURCES only if WITH_RADOSGW was set. The patch fixes
this and populates DENCODER_SOURES if ENABLE_CLIENT is set.

Signed-off-by: Boris Ranto <branto@redhat.com>
2015-04-14 13:46:58 +02:00
Boris Ranto
fb11c74d1d Dencoder should never be built with tcmalloc
The patch adds disabled perfglue stubs to DENCODER sources in order to
avoid tcmalloc-enabled ceph-dencoder builds.

Refs: #10691

Signed-off-by: Boris Ranto <branto@redhat.com>
2015-04-14 13:44:27 +02:00
Joao Eduardo Luis
f04117a5ba Merge pull request #4348 from ceph/wip-mon-clean
mon: remove dead MonitorStore code

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
2015-04-14 11:02:49 +01:00
Sage Weil
5bb33dc3b8 Merge pull request #4350 from almightybeeij/master
Check that delta_sum.stats.sum.num_object_copies and delta_sum.stats.sum...

Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-13 14:36:11 -07:00
Sage Weil
40c590ebb2 Merge pull request #4349 from ceph/wip-dist-systemd-tmpfiles-d
#11383: packaging: ship systemd/ceph.tmpfiles.d in tarballs
2015-04-13 10:43:09 -07:00
Ken Dreyer
639e0c15f5 packaging: ship systemd/ceph.tmpfiles.d in tarballs
Prior to this commit, the tarballs did not contain
any files under the top-level "systemd" directory. This caused problems
with RPM builds on Fedora and RHEL 7, because as of commit
aa88364f30, those RPMs depend on the
systemd/ceph.tmpfiles.d file.

(Longer-term we might want to improve the tarball generation code to be
less complex/manual.)

http://tracker.ceph.com/issues/11383 Refe: #11383

Reported-by: Greg Farnum <gfarnum@redhat.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-04-13 11:33:47 -06:00
BJ Lougee
27ed729c10 Check that delta_sum.stats.sum.num_object_copies and delta_sum.stats.sum.num_object are greater than zero
This fixes division by zero.

Signed-off-by BJ Lougee <almightybeeij@gmail.com>
2015-04-13 11:24:38 -05:00
Sage Weil
4b23926018 mon: remove dead MonitorStore code
Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-13 08:42:47 -07:00
Sage Weil
6d22065c1a doc/release-notes: v0.94.1
Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-13 08:31:40 -07:00
branto1
48e34036ef Merge pull request #4317 from ceph/wip-rpm-with-systemd-comparison
ceph.spec.in: set _with_systemd on RHEL 7 and Fedora
2015-04-13 14:11:45 +02:00
Kefu Chai
6f6d7fe256 Merge pull request #4327 from dachary/wip-wheezy
install-deps.sh: Debian GNU/Linux wheezy needs backports

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-13 18:06:28 +08:00
Loic Dachary
2773ae5aeb Merge pull request #4341 from dachary/wip-test-timeout
tests: display ceph report when stuck

Reviewed-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2015-04-13 11:30:29 +02:00
Loic Dachary
921436e1dd Merge pull request #4334 from smithfarm/master
do_autogen: add missing '--without-lttng' option to usage()

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-04-13 11:20:34 +02:00
Loic Dachary
464999e1b7 tests: display ceph report when stuck
When the cluster is stuck (wait_for_clean times out), display ceph
report to stderr for debugging purposes.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-04-11 14:14:53 +02:00
Josh Durgin
796f810398 Merge pull request #4239 from yuyuyu101/wip-librbd-conf
Wip librbd conf

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-10 23:10:34 -07:00
Josh Durgin
2239dcb71d Merge pull request #4323 from ceph/wip-11363
librbd: ImageWatcher should cancel in-flight ops on watch error

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-10 18:04:30 -07:00
Josh Durgin
458901dfb2 Merge pull request #4140 from ceph/wip-rbd-rebuild-object-map
rbd: add ability to rebuild corrupt/missing object maps

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-10 17:56:48 -07:00
Josh Durgin
0593611fe9 Merge pull request #4325 from wonzhq/async-resize-2
librbd/AsyncResize: avoid dup incrementing refresh seq

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-10 17:32:58 -07:00
Josh Durgin
ef5c2b7b89 Merge pull request #4336 from ceph/wip-11369
librbd: failure to update the object map should always return success

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-10 17:26:14 -07:00
Loic Dachary
3ab13e6451 install-deps.sh: Debian GNU/Linux wheezy needs backports
It is not enough for the backports to be available, they also need to be
explicitly allowed to take precedence whenever a package is installed
indirectly. This is causing problems with libp11-kit-dev pulled by
libcurl4-gnutls-dev.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-04-10 23:51:45 +02:00
Josh Durgin
523272cf22 Merge pull request #4319 from ceph/wip-11348
librbd: update default image format to version 2

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-10 14:07:43 -07:00
Nathan Cutler
56039b37b3 do_autogen.sh: add missing '--without-lttng' option to usage
Signed-off-by: Nathan Cutler <ncutler@suse.cz>
2015-04-10 21:52:11 +02:00
Jason Dillaman
06f30fc18d librbd: notify of header update after rebuilding object map
This will allow clients to detect that the object map is no longer
invalid and to reload the object map from disk.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
58be49e592 librbd: rebuilding object map shouldn't update piecemeal
The object map is now rebuilt in-memory and written back to the
OSDs as a single operation.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
3ec68db139 tests: add test case for cls_rbd object_map_save
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
24c923e22e cls_rbd_client: add object_map_save helper method
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
e5adbaa80b cls_rbd: add object_map_save method
Allow the object map rebuild process to build the full object map
in memory and save it to disk with one operation.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
8ca6220fc2 tests: add ImageWatcher test for new rebuild object map request
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
852592a565 tests: added rebuild_object_map test to test_librbd
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:21 -04:00
Jason Dillaman
7ba4f1003a tests: librados_test_stub reads should deep-copy
If a client of librados_test_stub modified a bufferlist
retrieved via a read call, the client will actually be
changing the contents of the file.  Therefore, read calls
should deep-copy the contents of the buffer::ptrs.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
e714800c48 librbd: allow snapshot object maps to be updated
Rebuild will need to be able to update/resize the object maps
for image snapshots.  This was previously not permitted.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
92a42561f8 librbd: update in-memory object map before on-disk update completes
When multiple IO updates are occurring within the same object, this
will allow only a single object map update request to be sent to the
OSD.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
1b7f8c13f9 cls_rbd: treat zero-byte object maps as missing
Acquiring the lock on a missing object map will create an
empty object. Treat the empty object as a non-existant
object map to support rebuilding corrupt object maps while
holding the exclusive lock.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
6ce79ab008 rbd: add object map rebuild command
An invalid object map can now be rebuilt via the rbd CLI.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
cc3890eea8 librbd: add rebuild_object_map to public API
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
844136d07f librados_test_stub: add another overload of aio_operate
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
7ae1b14966 librbd: connect async rebuild object map to state machine
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
2db758cb4c librbd: require callers to ObjectMap::aio_update to acquire lock
This is needed to allow an atomic compare and update operation
from the rebuild object map utility.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
c0cd3829e0 librbd: added RebuildObjectMapRequest state machine
It will verify the object map is properly sized, verify
the existence of each object within the image (snapshot),
and clear the invalid object map flag once complete.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
1aa801a013 librbd: correct basic object map errors during refresh
If the object map is corrupt on-disk or too small for the image,
correct these basic issues as soon as possible.  The object map
is still flagged as invalid, but there will be less required repair
work if future IO is able to properly update the object map.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
18fd6ca7f5 librbd: use generic helper for issuing async requests
resize, flatten, and rebuild object map now use the same
bootstrap code for sending the request to the remote lock owner
or executing the request locally.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
df55d6450f librbd: connect ImageWatch rebuild request to async rebuild method
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
d49788b7d3 librbd: add preliminary methods for rebuilding object map
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
1479161b74 librbd: add hooks for rebuild object map to ImageWatcher
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
a8f828b8b8 librbd: add new notify payload for rebuild object map
The request will be sent to the client which owns the exclusive
lock to rebuild the object map for the current image HEAD.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
99f5a7d595 librbd: failure to update the object map should always return success
If an object map update fails, the object map will be flagged as
invalid.  However, if a subsequent update failure occurs, the error
code will propagate back to the caller.

Fixes: #11369
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 13:32:20 -04:00
Jason Dillaman
76fe8d73ff tests: librados_test_stub reads should deep-copy
If a client of librados_test_stub modified a bufferlist
retrieved via a read call, the client will actually be
changing the contents of the file.  Therefore, read calls
should deep-copy the contents of the buffer::ptrs.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 12:54:27 -04:00
Loic Dachary
5710875ea2 Merge pull request #4330 from dachary/wip-hammer-release-notes
release-notes: draft v0.94.1 release notes
2015-04-10 17:59:07 +02:00
Jason Dillaman
fc2e511b2a librbd: ImageWatcher should cancel in-flight ops on watch error
Upon an watch error notification from librados, pending requests
should be canceled and in-flight IO should be flushed prior to
unlocking the image.

Fixes: #11363
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 11:23:54 -04:00
Kefu Chai
037b17305a Merge pull request #4333 from dachary/wip-fedora
tests: add Dockerfile for fedora 21

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-10 21:33:13 +08:00