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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>