Loic Dachary [Wed, 11 Feb 2015 11:20:18 +0000 (12:20 +0100)]
tests: update docker helper documentation
The tags for the centos repository changed from centos6, centos7 to 6
and 7 which is consistent with the other distribution
repositories. Update the documentation accordingly.
Loic Dachary [Wed, 11 Feb 2015 11:15:02 +0000 (12:15 +0100)]
tests: one Dockerfile per repository:tag
There cannot be a common Dockerfile for all repository:tag combination
of a given operating system. The only way to customize a Dockerfile is
via variable substitution and it cannot conveniently address all
differences between versions.
Create one Dockerfile per operating system version instead. I.e. one
dockerfile for centos:7, one for centos:6 etc.
Kefu Chai [Thu, 12 Feb 2015 05:02:45 +0000 (13:02 +0800)]
osd: fix OSDCap parser on old boost/spirit
* on boost 1.41, the ascii::space skipper fails to skip the spaces at the
beginning of the parsed string, so as a workaround we replace the `lit(' ')`
in grammar spec with `ascii::blank`. this also simplifies the grammar
a little bit.
Loic Dachary [Wed, 11 Feb 2015 20:48:34 +0000 (21:48 +0100)]
erasure-code: initialize all data members
As a safeguard against unitialized memory in isa and jerasure
plugins. Since the init method is supposed to be called before the
plugin is used, it is mostly not relevant. However it can lead to
problems that are non trivial to figure out.
Loic Dachary [Wed, 11 Feb 2015 12:31:55 +0000 (13:31 +0100)]
tests: clone ceph-erasure-code-corpus from ceph
Instead of the http://github.com/dachary namespace. It is not an issue
in the common case because it should be cloned because it is in the
.gitmodules file with the proper namespace.
Loic Dachary [Tue, 3 Feb 2015 15:14:23 +0000 (16:14 +0100)]
ceph.spec.in: junit always except for EPEL 6
The package was renamed a long time ago (around the Fedora 15
timeframe). The "junit4" name is only relevant for EPEL 6. For EPEL 7
and Fedora 20, the "junit" package has "Provides: junit4". And most
recently, in the junit package that ships in Fedora 21 and 22, the
package maintainer dropped the old Provides: line.
Greg Farnum [Tue, 10 Feb 2015 22:18:52 +0000 (14:18 -0800)]
MDSMonitor: do not allow MDS to transition from STATE_STOPPING
They can only go into STATE_STOPPED. I was a little concerned
that some of the rejoin code might inadvertently allow a stopping
MDS to end up active, but after a little auditing it looks like
that all behaves properly and this is an invariant we maintain.
rgw: Swift API. The second way of specifying desirable response format.
OpenStack Object Storage API v1 defines two ways for the client to tell which response format it understands.
Until now RGW looked at query variable 'format' only. This commit implements the second way of setting the format by
providing 'Accept' HTTP-header with the desirable response mime-type.
Yehuda Sadeh [Fri, 6 Feb 2015 02:18:23 +0000 (18:18 -0800)]
rgw: remove multipart entries for bucket index when aborting
Fixes #10719
Since we now let the gc clean the aborter multipart uploads, we need to
clear the multipart entries from the bucket index when cleaning up the
meta object.
Yehuda Sadeh [Tue, 10 Feb 2015 02:16:13 +0000 (18:16 -0800)]
rgw: encode rgw_obj::orig_obj
We weren't encoding orig_obj, however, it's now needed so that we can
call get_index_key() on decoded objects. Only encode/decode it if ns or
instance are not empty.
qiushanggao [Tue, 20 Jan 2015 02:27:50 +0000 (10:27 +0800)]
Fix bug: When run Test_filejournal testcase with gtest argument, all of testcases is failed.
when run testcase with gtest argument, for example, with argument --gtest_output=xml:/root/reports/ceph_test_cls_version.xml,
then the test result is failed, because of the test program use the first argument as the journal file name. Signed-off-by: shanggao qiu <qiushanggao@qq.com>
Greg Farnum [Fri, 6 Feb 2015 05:12:17 +0000 (21:12 -0800)]
fsync-tester: print info about PATH and locations of lsof lookup
We're seeing the lsof invocation fail (as not found) in testing and nobody can
identify why. Since attempting to reproduce the issue has not worked, this
patch will gather data from a genuinely in-vitro location.
Josh Durgin [Tue, 10 Feb 2015 04:50:23 +0000 (20:50 -0800)]
rados.py: keep reference to python callbacks
If we don't keep a reference to these, the librados aio calls will
segfault since the python-level callbacks will have been garbage
collected. Passing them to aio_create_completion() does not take a
reference to them. Keep a reference in the python Completion object
associated with the request, since they need the same lifetime.
Josh Durgin [Mon, 9 Feb 2015 23:00:18 +0000 (15:00 -0800)]
locally disable pragma warnings on gcc < 4.6
diagnostic push|pop are not present before 4.6, so each use gives a
warning. Temporarily ignore these by disabling/reenabling -Wpragmas.
Note that this means the other disabled warnings are not scoped on
old gcc. I don't think this is worth fixing, since newer gcc will
respect the scope and show us the warnings outside of it.
Jason Dillaman [Thu, 5 Feb 2015 06:20:00 +0000 (01:20 -0500)]
librbd: consolidate all async operation flush logic
librbd has three different methods for flushing asynchronous
operations. These have all been consolidated down to a single,
shared method to fix an existing issue and simplify maintenance
going forward.
Fixes: #10783 Signed-off-by: Jason Dillaman <dillaman@redhat.com> Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Mykola Golub [Wed, 21 Jan 2015 13:47:25 +0000 (15:47 +0200)]
mon: noforward flag for commands that are not supposed to be forwarded
For not a monitor leader, if a received command is not supported
locally, but is supported by the leader, it is forwarded to the
leader.
For some commands that may have undesirable behaviour. E.g. for the
recently added "ceph tell mon.x version", if the mon.x is not a leader
and does not support "version" command yet, but the leader does, the
user will receive the version of the leader, and can't be actually
sure about a non leader version.
Fix this by adding noforward flag to commands that are not supposed to
be forwarded. Set the flag for "version" command. Although there are
other non-forwardable commands (like injectargs) it is not necessary
to add the flag to them, as the commands are too old to suffer from
the describe problem.