Commit Graph

49167 Commits

Author SHA1 Message Date
Jason Dillaman
3d8d9da348 librbd: update image name upon rename operations
Previously the image could not have been renamed twice without
re-opening the image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-18 15:45:51 -05:00
Jason Dillaman
ad78558a66 librbd: missing owner lock on snap rollback cache invalidation
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-18 15:45:51 -05:00
Jason Dillaman
e01b406762 librbd: journal replay should execute ops in clean context
lockdep will complain about loop cycles that won't cause an
issue in reality as replay and record are two different
journal states.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-18 15:45:51 -05:00
Jason Dillaman
bc2ae0ef56 librbd: use AIO notifications to prevent blocking ops
If two or more images share the same CephContext, notifications
from one image can block the work queue which will potentially
block acknowledging the notification until after it times out.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-18 15:45:51 -05:00
Jason Dillaman
9d0b5b9e5e librbd: cleanup header update notifications
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-18 15:45:51 -05:00
Jason Dillaman
2c656171e4 Revert "librbd: lock notifications should be executed outside librados thread"
This reverts commit d898995b0e.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-18 15:45:50 -05:00
Jason Dillaman
dd5c9e5503 librbd: support for AIO notifications
The header update and lock notifications might be invoked
from the librados AIO thread.  Update the close state
machine to flush any potential AIO notifications.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-18 15:45:50 -05:00
Yehuda Sadeh
3687a0d9fd Merge pull request #7457 from weiqiaomiao/w1
Rgw: check the return value when call fe->run()

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-02-18 08:16:23 -08:00
Yehuda Sadeh
210b075d02 Merge pull request #7666 from rzarzynski/wip-rgw-sysreq-over-swift
rgw: add support for system requests over Swift API

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-02-18 08:08:13 -08:00
Yehuda Sadeh
55689f9b4f Merge pull request #7678 from linuxbox2/rgw-sigusr1
rgw: move signal.h dependency from rgw_front.h

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-02-18 08:04:19 -08:00
Greg Farnum
bf24e351d9 Merge branch 'greg-pr-7034' 2016-02-18 06:41:23 -08:00
Kefu Chai
138d771862 Merge pull request #7679 from linuxbox2/rgw-ssconst
sstring.hh: return type from str_len(...) need not be const

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-02-18 21:58:19 +08:00
Gregory Farnum
037852eab5 Merge pull request #7684 from ceph/wip-pybind-install
pybind: use correct subdir for rados install-exec rule

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2016-02-17 16:45:10 -08:00
Greg Farnum
493a073e99 Merge branch 'wip-sharded-scan' of git://github.com/jcsp/ceph into greg-pr-7034
Conflicts:
	src/osdc/Objecter.cc
2016-02-17 15:49:51 -08:00
Josh Durgin
c8b9a79bbd pybind: use correct subdir for rados install-exec rule
This fixes package builds and 'make install'

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-02-17 15:44:45 -08:00
Josh Durgin
196d324b09 Merge pull request #7621 from sileht/sileht/rados-cython
python binding of librados with cython

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-02-17 10:05:20 -08:00
Radoslaw Zarzynski
aa87becbeb rgw: remove unnecessary overloads in RGWHTTPArgs.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
2016-02-17 18:30:06 +01:00
Matt Benjamin
27b991a55d sstring.hh: return type from str_len(...) need not be const
Removes a compile warning.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-02-17 11:17:22 -05:00
Matt Benjamin
ebfc6bfd10 rgw: move signal.h dependency from rgw_front.h
Missed in refactoring of rgw_main.cc.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-02-17 10:46:21 -05:00
Mehdi Abaakouk
67f95c8f66 Update the documentation
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-17 15:16:56 +01:00
Mehdi Abaakouk
c4162b5988 librbdpy: Use new rados lib
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-17 12:32:39 +01:00
Mehdi Abaakouk
7216b06bc5 ceph.in: Use new python rados module
This implements run_in_thread inside the ceph command itself.

And fixes the ceph command bootstrap when it run inside the
source tree to correctly load the new rados python module.

Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-17 12:32:38 +01:00
Mehdi Abaakouk
82869f004e Fix rpm/deb packaging
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-17 12:32:38 +01:00
Mehdi Abaakouk
3c40524042 Remove old rados pybinding
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-17 12:32:38 +01:00
Mehdi Abaakouk
9997b32d0b Cython Rados module
Notable changes:

* run_in_thread have disapeared
* timeout argument of some methods are ignored
* rados_create_write_op/rados_create_read_op returns WriteOp/ReadOp
  instead of the pointer address
* rados_monitor_log callback 'arg' arguments was broken in previous python
  binding (callback was called with the pointer address instead pointed object)
* object attributes that was pointer addresses are now private and not accessible in python

Some tests have been added to cover all methods

Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-17 12:32:38 +01:00
Kefu Chai
22c6d3549e Merge pull request #7603 from roidayan/xio_fixes
Xio fixes

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2016-02-17 17:21:29 +08:00
Radoslaw Zarzynski
52b7f1d696 rgw: support system requests over Swift API.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
2016-02-16 23:54:07 +01:00
Radoslaw Zarzynski
cd357b6a49 rgw: enable access to system arguments of RGWHTTPArgs.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
2016-02-16 23:54:07 +01:00
Mehdi Abaakouk
d3ac713d88 Move pybind rbd module into it own directory
To allow to create a autonomous rados module with cython.
We move the current librbdpy to the rbd sub directory.

Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-16 18:41:09 +01:00
Kefu Chai
64c1d54354 Merge pull request #7520 from renhwsky/renhw-wip-mon-monitor
mon/monitor: some clean up

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-02-16 22:04:24 +08:00
Gregory Farnum
fd4d97c027 Merge pull request #7629 from ceph/wip-14750-op-timeouts
Objecter: detect laggy ops with objecter_timeout, not osd_timeout

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2016-02-15 20:39:55 -08:00
Gregory Farnum
0284090464 Merge pull request #7655 from gregsfortytwo/wip-metarequest-lock
client: removed unused Mutex from MetaRequest

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2016-02-15 20:36:47 -08:00
Gregory Farnum
42afb5b523 Merge pull request #7616 from gregsfortytwo/wip-timer-14697
mds: don't double-shutdown the timer when suiciding

Reviewed-by: John Spray <john.spray@redhat.com>
2016-02-15 20:35:32 -08:00
Gregory Farnum
da83441201 Merge pull request #7490 from x11562/mds_mdstype_ref
mds: function parameter 'df' should be passed by reference

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2016-02-15 20:34:43 -08:00
Dan Mick
9d2c786966 Merge pull request #7610 from dillaman/wip-bit-vector
common/bit_vector: use hard-coded value for block size

Reviewed-by: Dan Mick <dmick@redhat.com>
2016-02-15 17:07:39 -08:00
Josh Durgin
9d3e6dcb26 Merge pull request #7653 from dillaman/wip-librbd-race-conditions
librbd: several race conditions discovered under single CPU environment

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-02-15 15:25:28 -08:00
Orit Wasserman
bdb035ceff Merge pull request #7408 from ceph/wip-14549
rgw: don't use s->bucket for metadata api path entry

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2016-02-15 22:12:54 +01:00
Orit Wasserman
76e42f0968 Merge pull request #7633 from zaitcev/cleanup-various-1
rgw: cleanups to comments and messages

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2016-02-15 21:57:01 +01:00
Jason Dillaman
84e9f3f190 librados_test_stub: watch_flush should block until notifies complete
It shouldn't block until all the acks are received as that is not
how librados handles the method.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-15 12:36:00 -05:00
Jason Dillaman
d898995b0e librbd: lock notifications should be executed outside librados thread
Otherwise it's possible that the notification will be blocked if
the librados AIO thread isn't available to invoke the notification
handler.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-15 12:35:22 -05:00
Jason Dillaman
7ae774b8e0 librbd: potential race on image close
If multiple states are pending, it's possible for an image to
be closed while the state lock is unlocked during the callback.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-15 12:35:22 -05:00
Jason Dillaman
f5dfebc026 librbd: potential deadlock during AIO image re-open
The AIO image open might complete under the librados AIO callback.
Attempting to close the old image handle under that thread will
deadlock under the new librados_test_stub flush handling.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-15 12:35:22 -05:00
Jason Dillaman
8756e808f5 librados_test_stub: ensure AIO callback is also flushed
There are sporadic librbd unit test failures due to the
mock being destroyed while an active librados_test_stub
AIO callback is completing.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-15 12:33:15 -05:00
Jason Dillaman
98fba627b3 Merge branch 'wip-commit_position-tests' of git://github.com/trociny/ceph
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-02-15 09:42:03 -05:00
Mykola Golub
a418182eb1 tests: librbd: commit position updated after journal replay
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-02-15 09:38:51 -05:00
Jason Dillaman
ba2e6ce46f common/bit_vector: use hard-coded value for block size
The CEPH_PAGE_SIZE is not actually a constant. On aarch64 platforms
the page size is 64K instead of the assumed 4K.  The CRC block
computations require a true constant.

Fixes: #14747
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-15 08:49:19 -05:00
Kefu Chai
9540769da4 Merge pull request #7646 from dachary/wip-ceph-disk-flake8
ceph-disk: flake8 fixes

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-02-15 15:19:56 +08:00
Loic Dachary
d476ff65d8 ceph-disk: flake8 fixes
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-02-15 12:43:36 +07:00
Pete Zaitcev
678e2bbec0 rgw: cleanups to comments and messages
These are minor cleanups that do not affect the code in a
material way:
- Forgot to add --tenant to usage message
- Make the help slightly less misleading
- Fix a strange error message "could not add remove caps"
- Spelling in a comment
- The vstart.sh can be run with civetweb

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
2016-02-14 22:01:22 -07:00
Greg Farnum
1ce0c7719e client: removed unused Mutex from MetaRequest
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2016-02-12 16:06:20 -08:00