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>
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>
vstart.sh expects the literal string "osd"/"mds"/"mon". To me, it was confusing
as I interpreted the usage hint as an optional count for each daemon.
Signed-off-by: Patrick Donnelly <batrick@batbytes.com>
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>
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>
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>
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>
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>
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>
The commit adding Seastar sstring.h replaced a part of the interface
which used an internal string-view type, with an equivalent using
basic_string_ref from Boost. I relied on a default template argument
not present in older versions.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
There is more cleanup potential here, but it is intrusive, as the
validators for bucket and object names have been factored through
the handler inheritance hierarchy.
This change just deletes the S3 validate_bucket_name for now, as
that method was large. The corresponding object name validator was
not defined in RGWHandler_REST_S3, so I've left it as is, for now.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>