By doing so values like 'whoami' and 'bluefs' will be stored as a
integer in the resulting JSON rather then a String.
Signed-off-by: Wido den Hollander <wido@42on.com>
* When receives unauthorized requests, RGW(rados auth only) runs four
* engines as follows:
* 1. anonymous engine in s3_main_strategy_plain
* 2. local engine in s3_main_strategy_plain
* 3. anonymous engine in s3_main_strategy_boto2
* 4. local engine in s3_main_strategy_boto2
* The third engine which is exactly the same with the first one is
* redundant.
Signed-off-by: Bingyin Zhang <zhangbingyin@cloudin.cn>
The current implementation for chunked object only supports
proxy_read(if offset is within range) and write(local write)
In this case, a read request can be handled before a write request.
This commit prevents unordered read processing because
proxy_read() will be executed if the chunk is missing state.
If chunked object has been overwritten, its state will not be missing.
Fixes: http://tracker.ceph.com/issues/22369
Signed-off-by: Myoungwon Oh <omwmw@sk.com>
* add ubuntu-toolchain-r mirrors in case the ppa.launchpad.net is not
accessible
* add ppa repo manually, it's faster than installing
`software-properties-common` and then launch `add-apt-repository`
* hardwire $old to the gcc version shipped by the distro, simpler this
way.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Instead of:
"systemd": "",
"type": "bluestore",
"whoami": "0"
}root@alpha:~#
A newline is added to the JSON file when writing:
"type": "bluestore",
"whoami": "0"
}
root@alpha:~#
Makes it a bit easier to read the JSON files on a terminal
Signed-off-by: Wido den Hollander <wido@42on.com>
When we call handle_sub_write after a write completion, we may
do a sync read completion and then call back into check_ops(). Attaching
the on_write events to the op we're applying means that we don't ensure
that the on_write event(s) happen before the next write in the queue
is submitted (when we call back into check_ops()).
For example, if we have op A, on_write event W, then op B, a sync
applied completion would mean that we would queue the write for A, call
back into SubWriteApplied -> handle_sub_write_reply -> check_ops and then
process B... before getting to W.
Resolve this by attaching the on_write callback to a separate Op that is
placed into the queue, just like any other Op. This keeps the ordering
logic clean, although it is a bit ugly with the polymorphism around Op
being either an Op or an on_write callback.
Signed-off-by: Sage Weil <sage@redhat.com>
rgw,common: remove already included header files
Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Liu-Chunmei <chunmei.liu@intel.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
We include TrimRequest.cc in librbd tests at two places:
- operation/test_mock_TrimRequest.cc
- operation/test_mock_ResizeRequest.cc
That causes linking errors when doing the builds because some of the
instantiated classes are defined twice.
We can fix this by not instantiating the template class in the
TrimReqeust.cc file when including it in the tests.
Signed-off-by: Boris Ranto <branto@redhat.com>
the multisite tests run manual trim operations with radosgw-admin, which
can race with internal log trimming to produce tests failures
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Make the only caller of removed() not need to call note_modified_object
separately, dropping the unneeded erase() call.
Signed-off-by: Sage Weil <sage@redhat.com>
We need to make sure we carry this ref through until the object is
deleted or else another request right try to read it before the kv
txn is applied. (This is easy to trigger now that onreadable is completed
at queue time instead of commit time.)
Signed-off-by: Sage Weil <sage@redhat.com>
The one exception to the "immediately readable" it collection_list, which
is not readable until the kv transaction is applied. Our choices are
1. Wait until kv to apply to trigger onreadable (for any create/remove
ops). This wipes away much of the benefit of fully sync onreadable.
2. Add tracking for created/removed objects in BlueStore so that we can
incorporate those into collection_list. This is complex.
3. flush() from collection_list. Unfortunately we don't have osr linked
to Collection, so this doesn't quite work with the current ObjectStore
interface.
4. Require the caller flush() before list and put a big * next to the
"immediately onreadable" claim. It turns out that because of FileStore,
the OSD already does flush() before collection_list anyway, so this does
not require any actual change... except to store_test tests. (This didn't
affect filestore because store_test is using apply_transaction, which
waits for readable, and on filestore that also implies visible by
collection_list.)
Signed-off-by: Sage Weil <sage@redhat.com>