Xiong Yiliang [Fri, 6 Mar 2015 04:46:49 +0000 (12:46 +0800)]
osdc: fix a memory leak in C_TwoContexts
If an ObjectOperation op is cancelled, its destructor is
called and each Context object in out_handler is deleted.
A C_TwoContexts object can be one of these handlers. The
two contexts wrapped in C_TwoContexts must be deleted
as well.
Loic Dachary [Thu, 5 Mar 2015 23:06:21 +0000 (00:06 +0100)]
ceph needs gmock/gtest to be statically linked
The ceph-test package depends on gmock and gtest and needs to statically
link them because packages are not configured to distribute the
corresponding shared library files.
Update the gmock submodule to the version that is configured with
noinst libraries that will be statically linked.
The gmock submodule is modified to reference the branch in which the
ceph specific changes have been done.
Ken Dreyer [Wed, 4 Mar 2015 22:01:34 +0000 (15:01 -0700)]
ceph.spec.in: loosen ceph-test's dependencies
In Debian, the ceph-test package can be installed with any version of
ceph-common.
Prior to this commit, in RHEL, we're much more strict about which
version of the dependencies we require. We depend directly on
librados2/librbd1/libcephfs1 instead of ceph-common, and we also require
the specific versions of these libraries to match the version of
ceph-test.
For testing Ceph, it is nice to have the ability to upgrade the
librados2/librbd1/libcephfs1 libraries on a host without having to also
upgrade the ceph-test package as well.
Remove the version number requirements, and change the dependencies from
librados2/librbd1/libcephfs1 to simply "ceph-common". That will make
/etc/ceph/ and /var/log/ceph present for the tests.
John Spray [Tue, 3 Mar 2015 20:14:28 +0000 (20:14 +0000)]
mds: flush immediately in do_open_truncate
Previously truncating opens were horribly laggy
for clients when the system was otherwise idle,
as they would wait for the next tick() before
proceeding.
Fixes: #11011 Signed-off-by: John Spray <john.spray@redhat.com>
Danny Al-Gaaf [Tue, 3 Mar 2015 11:14:05 +0000 (12:14 +0100)]
rados.py: fix (white)space issues
Fixes for:
- E202 whitespace before '}'
- E221 multiple spaces before operator
- E223 tab before operator
- E226 missing whitespace around arithmetic operator
- E251 unexpected spaces around keyword / parameter equals
- E261 at least two spaces before inline comment
- W293 blank line contains whitespace
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 3 Mar 2015 10:00:05 +0000 (11:00 +0100)]
ceph_argparse.py: fix pep8 indentation errors
Fix for:
- E126 continuation line over-indented for hanging indent
- E128 continuation line under-indented for visual indent
- E129 visually indented line with same indent as next logical line
- E131 continuation line unaligned for hanging indent
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Dmytro Iurchenko [Mon, 16 Feb 2015 16:47:59 +0000 (18:47 +0200)]
rgw: Swift API. Complement the response to "show container details"
OpenStack Object Storage API v1 states that X-Container-Object-Count, X-Container-Bytes-Used and user-defined metadata headers should be included in a response.
Loic Dachary [Mon, 2 Mar 2015 13:37:55 +0000 (14:37 +0100)]
tests: keep intermediate docker build layers
Because the docker devmapper backend has an intermittent bug
https://github.com/docker/docker/issues/4036
the build of the image will sometime fail. It will eventually succeed if
the command is repeated enough times. Not removing the intermediate
layers helps speed up the operation: when repeating the command, only
the layer that failed because of the above bug is rebuilt.
Jason Dillaman [Fri, 27 Feb 2015 14:46:55 +0000 (09:46 -0500)]
librbd: flush pending AIO after acquiring lock
There was a potential race condition between a delayed AIO
operation waiting on acquiring a lock and a snap_create
flushing all pending IO. Since snap_create owned md_lock, the
delayed AIO would not be allowed to complete -- deadlocking the
flush.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 27 Feb 2015 04:39:10 +0000 (23:39 -0500)]
librbd: hold snap_lock between clipping IO and registering AIO
In the case where concurrent IO is occurring when a trim resize
operation is initiated, hold the snap_lock between clipping the
IO operation and registering the pending op. That allows the
resize state machine to properly flush all operations issued
before the clip region was updated.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* should be using /var/lib/ceph/osd/{cluster-name}-{osd-num}/sysvinit
instead of var/lib/ceph/osd/{cluster-name}-{hostname}/sysvinit, thanks
to Kyle Hutson <kylehutson@ksu.edu>
Ken Dreyer [Fri, 27 Feb 2015 17:32:37 +0000 (10:32 -0700)]
Add GPLv2 text file
Most of the ceph tree is LGPLv2.1, but there are some files that are
under the full GPLv2.
Add a copy of the GNU General Public License (version 2) to the
distribution. This file was copied verbatim from
https://www.gnu.org/licenses/gpl-2.0.txt
Jason Dillaman [Thu, 26 Feb 2015 21:58:07 +0000 (16:58 -0500)]
librbd: C_SaferCond memory leak
Unlike the other Context derived classes, C_SaferCond is not
a suicidal object which deletes itself. Swap heap allocations
of C_SaferCond to stack-based allocations as a result.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Florian Haas [Fri, 27 Feb 2015 10:21:03 +0000 (11:21 +0100)]
doc: trivial: fix missing newlines in rbd man page
As it were, the order, stripe_unit and stripe_count options were
followed by descriptions rendered in the same monospace font as the
options themselves. Insert newlines so they are rendered as regular
text, as was the original intention.
Kefu Chai [Thu, 26 Feb 2015 04:40:28 +0000 (12:40 +0800)]
msg/xio: do not reference g_conf and g_ceph_context
* otherwise librados and libcephfs will have dependencies
on these global variables. because they enclose libmsg
in them.
* replace `derr` with ldout(cct,0)