VirtualBox has some files with weird
permissions in its /usr/lib, which was
tripping up this usually-safe operation
when run as an unprivileged user.
Fixes: #11959
Signed-off-by: John Spray <john.spray@redhat.com>
PGMonitor::map_pg_creates() is the only caller that passes sumonly=true,
which is necessary to avoid modifying creating_pgs while it is iterating
over it. However, everything else we *do* want to update--especially the
osd counts.
Rename the arg and skip only the creating bit.
Signed-off-by: Sage Weil <sage@redhat.com>
...for the case where someone exports a pool
with "rados export" and then tries to import
it into a PG.
Signed-off-by: John Spray <john.spray@redhat.com>
Same functionality now exposed as "rados import".
This removes objectstoretool's librados dependency.
Signed-off-by: John Spray <john.spray@redhat.com>
This is the code that used to sit behind the
old import/export commands that have been
disabled for some time.
Replaced by the new import/export commands.
Signed-off-by: John Spray <john.spray@redhat.com>
New PoolDump (export) class to dump pool contents
in format compatible with ceph-objectstore-tool,
and wire up RadosImport class (import).
Signed-off-by: John Spray <john.spray@redhat.com>
We use negative error codes everywhere else, should
use them here too. Also add a couple of strategically
placed prints.
Signed-off-by: John Spray <john.spray@redhat.com>
...to expose the definitions of the object dump
format (RadosDump) for use in rados import/export.
The serialized->RADOS code is now RadosImport, and
the serialized->ObjectStore code is ObjectStoreTool.
This is a step toward #9964, which should use the
same on serialization format as the existing
objectstore-tool dumps.
Signed-off-by: John Spray <john.spray@redhat.com>
When the isa plugin is not present, the isa plugin payloads are not
tested. When that happens, remember that it was intentional by storing
the path that would have been tested so that the inventory is complete.
http://tracker.ceph.com/issues/11949Fixes: #11949
Signed-off-by: Loic Dachary <loic@dachary.org>
Some clients (ahem, CrossFTP) include the :port in the HTTP_HOST header.
Strip it out.
Switch req_info field to a std::string and avoid copying it in preprocess.
Signed-off-by: Sage Weil <sage@redhat.com>
Synchronize withe the ceph-erasure-code-corpus submodule in which all
file names were modified to fix the typo.
http://tracker.ceph.com/issues/11932Fixes: #11932
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Prior to automake 1.13 the default behavior was serial-tests meaning
tests from make check were run one after the other and their output sent
to stdout/stderr. From automake 1.13 up the default became
parallel-tests which logs the output of each individual test in a
separate .log file and allows them to run in parallel.
http://lists.gnu.org/archive/html/automake/2012-12/msg00038.html
Enable parallel-tests so that tests can always run in parallel, even
with automake 1.11 which is the version found in CentOS 6.5 and Ubuntu
12.04 precise.
A nice side effect of always having the logs in separate files is that
tests do not need to worry about being too verbose because their output
will only be read for diagnostic purposes.
http://tracker.ceph.com/issues/11931Fixes: #11931http://tracker.ceph.com/issues/11906Fixes: #11906
Signed-off-by: Loic Dachary <ldachary@redhat.com>
In several files the iostream wasn't being used, so it got removed.
In other files the iostream inclusion was replaced by including iosfwd
(for forward declarations), which is much smaller header than iostream,
so in theory should reduce compilation time.
To make this work some of the functions must have been moved from .h to .cc file.
3 functions also needed to have inline removed - this shouldn't affect
performance in any way: two of them are
probably too long to have been inlined anyway and the third one is for
error reporting, so probably won't be called too often.
test/Makefile-client.am: added linker libs
This was required to avoid linker error when linking
src/test/cls_rbd/test_cls_rbd.cc file. Makefile was specyfing
libcommon.a as a part of a linker command even though this wasn't
required and wasn't being linked against. When inline functions from
buffer.h were moved to buffer.cc(and inline was removed) the
libcommon.a library became necessary. This wouldn't link without also
including additional libraries(CRYPTO_LIBS and EXTRA_LIBS)
Signed-off-by: Michal Jarzabek <stiopa@gmail.com>