Mostly, operating on an invalid extent is harmless by construction --
it'll be caught by the read set check in submit_transaction. However,
prior to adding an extent to the lba pin set, we need to check that it's
really still live, which we can do by checking that it and its immediate
parent are still valid. Mutating the target extent would have
invalidated it, and replacing the target extent would necessarily have
involved a mutation to the parent, which would have invalidated it.
Signed-off-by: Samuel Just <sjust@redhat.com>
There are cases where reads may detect an invalid cached extent and require
the user to restart the transaction.
As a side effect, clean up errorators to assert cases where construction
is invalid (invalid refcounts, enoent or invarg on node read, etc). In
such cases, we may eventually want to introduce an internal_error error
type, but asserting is fine for now as we do not expect users to handle
these cases.
Signed-off-by: Samuel Just <sjust@redhat.com>
Do not encode new metric|config types for older peers.
The combination of boost::optional and boost::variant make this super
awkward to condition on the features. :(
Fixes: https://tracker.ceph.com/issues/49069
Signed-off-by: Sage Weil <sage@newdream.net>
It's not clear to me if anything relies on this behavior or not.. but it
prevents us from using the ceph-fuse task with a cephadm-deployed
fs that doesn't described by the task roles.
Signed-off-by: Sage Weil <sage@newdream.net>
For ceph.py this comes from the ceph.conf.template, but it's not there
for cephadm. Instead of inflicting this on the config inside the
container, just pass it to ceph-fuse incantation here.
Signed-off-by: Sage Weil <sage@newdream.net>
Commit 3754c665a11e (":qa/tasks/rbd: test qemu on top of rbd
encryption") broke dev_create() for krbd by messing up the "wait
for the symlink to be created by udev" loop. The rbd tool has been
synchronizing with udev internally since 2014, so rather than fixing
let's just drop it.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
In order to add encryption_format property, commit 3754c665a1
(":qa/tasks/rbd: test qemu on top of rbd encryption") changed the
dev_create() contract. It now expects a properties dict, but the
main task routine wasn't updated and still passes role_images.
On top of that, role_images itself got broken. It is supposed
to be a mapping from role to a corresponding image name, not to
a dict with an image_name key. This affected generic_mount().
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit vets the PendingReleaseNotes for Octopus.
This might not be the only commit that updates the
release notes, but it is the first by me.
Signed-off-by: Zac Dover <zac.dover@gmail.com>
This PR removes the following two sections:
1. Getting Ceph Workbench
2. Linking Ceph Workbench With Your OpenStack Tenant
Fixes: https://tracker.ceph.com/issues/48942
Signed-off-by: Zac Dover <zac.dover@gmail.com>
It's particularly important for reads to have large-enough
thread pool in `AlienStore` as they are synchronous; that
is, e.g. `BlueStore` blocks on IO when handling reads.
This commit introduces a configurable allowing operators
to increase the number from `1` which we were limited to
before the change.
Naming similarity with `osd_op_num_threads_per_shard` is
intentional.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
The autoscaler will start out with scaling each
pools to have a full complements of pgs from the start
and will only decrease it when pools need more due to
increased usage.
Introduced a unit test that tests only the
function get_final_pg_target_and_ratio() which
deals with the distrubtion of pgs amongst the
pools
Edited workunit script to reflect the change
of how pgs are calculated and distrubted.
Signed-off-by: Kamoltat <ksirivad@redhat.com>
it prints out
skipping non-JSON example generation.
if an API does not contains example while ":example:" is specified for
openapi extension, and if this API is not a GET request, openapi
extention complains.
see also
9dbae9c9a6/sphinxcontrib/openapi/openapi30.py (L191)
Signed-off-by: Kefu Chai <kchai@redhat.com>
this change is a follow-up of
0601b31a53, for couple reasons
- document the guideline for locking when working with python GIL
- add primitives to extract the patterns for acquiring/releasing
GIL. so they can be reused.
Signed-off-by: Kefu Chai <kchai@redhat.com>
This is due to `mgr/rook` now also includes `._helper`
Co-authored-by Kefu Chai <kchai@redhat.com>
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
client/fuse_ll.cc: use uint64_t for fuse_ll_forget() nlookup argument
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>