Revert "rpm: on SUSE, podman is required for cephadm to work" and "spec: Podman (temporarily) requires apparmor-abstractions on suse"
Reviewed-by: Michael Fritch <mfritch@suse.com>
Implement node_[un]resolve_vals to transform values to/from block relative
representations when copying out of/in to newly created blocks. This can
happen when splitting a node which has had entries added during the
same transaction, or itself was created during the transaction.
Signed-off-by: Samuel Just <sjust@redhat.com>
Weak transactions won't keep references in memory as we traverse
the tree, update each recursive call to ensure lifecycle of
this.
Signed-off-by: Samuel Just <sjust@redhat.com>
current_journal_segment_seq was misleading -- it's actually the value
for the next one. Fix naming and update get_journal_seq.
Signed-off-by: Samuel Just <sjust@redhat.com>
We'll need to do at least two forms of scan:
- deltas for replay
- extents for gc
Most of the mechanics are common, however, so this patch
hoists the common machinery into scan_segemnt.
Signed-off-by: Samuel Just <sjust@redhat.com>
Adds support for space accounting to SegmentCleaner and wires into
Journal, Cache, and tests.
SegmentCleaner has two tracking implementations, SpaceTrackerSimple
and SpaceTrackerDetailed. SpaceTrackerSimple simply keeps a count
of live bytes and is intended to be the normal implementation.
SpaceTrackerDetailed maintains a bitmap and is simply useful
for debugging unit tests. It may be removed in the future.
Signed-off-by: Samuel Just <sjust@redhat.com>
The previous version that used "json-pretty" output for `rados ls`
added complications due to json's escaping of special characters. So
this version returns to the "plain" output for `rados ls` but deals
with entries (oids) that might have namespaces and/or locators as
well.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Combined the functionality with the newer 'set_image_extents' call
to simplify the call-site logic for IO reads.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
With the incorporation of the ImageDispatcher, there is no longer a
need for the ImageCache (and related) classes which were added as
a temporary workaround to incorporate the PWL cache.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The Client::command_table member could get rid of the client_lock.
And this could make the client have a higher concurrency.
Fixes: https://tracker.ceph.com/issues/46620
Signed-off-by: Xiubo Li <xiubli@redhat.com>
This is preparing for adding the command lock support.
For the new mds map we could access it without the client_lock, so
before swaping it to the `mdsmap` member, it will be safe to access.
With this we can defer to hold the client_lock and it will be safe
for the new command_lock to avoid possible dead lock in future or
something else.
Fixes: https://tracker.ceph.com/issues/46620
Signed-off-by: Xiubo Li <xiubli@redhat.com>
instead of relying on __init__(), use setUpClass() to initialize class
for testing. it turns out in pytest > 4, __init__() is called for the
test class but the attributes of the instantiated class is in turn overriden.
so we have to use setUpClass to do this job.
Signed-off-by: Kefu Chai <kchai@redhat.com>
to silence lint warning like:
services/tcmu_service.py:64:39: E126 continuation line over-indented for hanging indent':'./services/tcmu_service.py:64:39: E126 continuation line over-indented for hanging indent'}
2: 1 E126 continuation line over-indented for hanging indent
Signed-off-by: Kefu Chai <kchai@redhat.com>
to address following failure:
The user requested pytest<4
pytest-cov 2.10.1 depends on pytest>=4.6
when building the target of "mgr-dashboard-virtualenv"
Signed-off-by: Kefu Chai <kchai@redhat.com>
to address the failure of
The conflict is caused by:
flake8 3.7.8 depends on pycodestyle<2.6.0 and >=2.5.0
autopep8 1.5.4 depends on pycodestyle>=2.6.0
when building the "mgr-dashboard-venv" target
Signed-off-by: Kefu Chai <kchai@redhat.com>
as long as pip supports this option, pass it to `pip install`
to silence warnings and errors like:
ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.
We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.
autopep8 1.5.4 requires pycodestyle>=2.6.0, but you'll have pycodestyle 2.5.0 which is incompatible.
pytest-cov 2.10.1 requires pytest>=4.6, but you'll have pytest 3.10.1 which is incompatible.
Signed-off-by: Kefu Chai <kchai@redhat.com>
It's quite possible for a scheduler like mClock to return no work items
based on parameters like reservation, weight and limit. For e.g., if
a client exceeds its limit for a given time period, the scheduler returns
a response indicating that the operation in its queue will be scheduled at
a later point in time. The osd in such a scenario must handle this case.
mClockScheduler::dequeue() now either returns an item to be scheduled or
a time (double) indicating when the op will be ready for dequeuing. The
next dequeue is attempted in the subsequent cycle after waiting until the
'future_time' expires or when the worker thread is notified as part of
OSD::ShardedOpWQ::_process() within the sharded threadpool worker loop.
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
always reset to empty which causes RGWGC::list to get stuck in
a loop, which ultimately is broken out of when the queue's truncated
flag is false.
1. Check for entries size also while evaluating whether objects cache for
a gc object should be marked as 'transitioned' in case of cls_rgw_gc_list.
When there are no entries, we get back a return value of 0, and the
object cache is not marked as 'transitioned'.
2. Also for the last gc object, we need to check whether the queue is still
under process and set the correct flag.
Missing the two conditions above causes the GC::list to loop continously
over the same gc object.
Fixes: https://tracker.ceph.com/issues/47909
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>