If the object map is enabled, it's possible for a read request to
instantly complete due to the skipped librados operations. Now
AioRequest will block the completion of read_from_parent requests
to prevent the possibility of the parent image being closed while
the read_from_parent method invocation is in-progress.
Fixes: #10968
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
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>
Fixes for:
- E226 missing whitespace around arithmetic operator
- E231 missing whitespace after ':' and ','
- E265 block comment should start with '#
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
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>
Blocked AioCompletions will not fire their callback until unblocked.
This is an expansion / replacement of the previous 'building' flag
used to block completions while additional requests were added to the
completion.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
If an object map update is not required when modifying an image,
properly free the memory allocated for the callback Context.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
AioRead and CopyupRequest were not properly handling possible
error codes from aio_read. They now correctly free the completion
and invoke the callback context.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The crushtool is aborted if it takes more than mon lease seconds. Since
the monitor blocks while running it, this is mandatory otherwise the
monitor will be considered down and new elections triggered.
http://tracker.ceph.com/issues/10947Fixes: #10947
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Make crushtool a configuration value that defaults to crushtool and
allow it to be injected. It helps with testing: the command can be
replaced with another that misbehaves in various ways.
Signed-off-by: Loic Dachary <loic@dachary.org>
rbd CLI now includes rbd image flags and no longer defaults
to enabling the new exclusive locking feature.
Fixes: #10962
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
rbd did not previously support specifying striping params
for cloned and imported images. Extend the behavior to
these other CLI commands.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
All feature flags were being displayed when using JSON/XML
formatted output. Now use the same formatting routing for
plain/JSON/XML output for features and flags.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
If the exclusive lock feature is enabled, all locks need
to be removed prior removing the image.
Fixes: #10990
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
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.
Fixes: #10666
Backport: hammer
Reported-by: Ahmad Faheem <ahmad.faheem@ril.com>
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Dmytro Iurchenko <diurchenko@mirantis.com>