Zac Dover [Sun, 12 Mar 2023 01:17:03 +0000 (11:17 +1000)]
doc/rados: edit operations/bs-migration (1 of x)
Disambiguate and improve the English language in
doc/rados/operations/bluestore-migration.rst up to but not including the
section called "Whole Host Replacement".
Venky Shankar [Fri, 10 Mar 2023 11:15:35 +0000 (16:45 +0530)]
Merge PR #49102 into main
* refs/pull/49102/head:
qa: add test for schedule auto deactivation
doc/cephfs: add note about path usage in snap-schedule
mgr/snap_schedule: add debug log for missing or wrong path
Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Rishabh Dave <ridave@redhat.com>
Now, the current code does not allow qat to exert
its acceleration advantage, but leads to poor performance
of qat. The QAT batch mode is implemented here, so that
the QAT performance can be displayed.
When we scale up the number of concurrent requests and worry about
QAT instance will be bottleneck, we can fall back to CPU.
And there add a parameter to set the times of the number of QAT
instance to wait for free instance, which can avoid QAT to be
not busy and make sure QAT full of utilization as much as possible.
max_queue_size is up to max_requests
Add optional_yield in RGWPutObj_BlockEncrypt and
RGWGetObj_BlockDecrypt. Make it with coroutine and non-coroutine mode.
Adds an experimental script that allows a bucket index of a
non-versioned bucket to be restored by applying `radosgw-admin object
reindex ...` to all objects in the specified bucket. The objects in
the bucket are determined by scanning the data pool for head objects
containing the bucket's marker.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
rgw: add an "object reindex" subcommand to radosgw-admin
This subcommand will take a bucket and an object (or a list of objects
in a file) and add those objects to the bucket's index. It does so by
preparing the bucket index entry update and then allowing the
so-called "dir suggest" mechansim, which is triggered by listing the
bucket, to completing the bucket index entry. This mechanism is
triggered by listing the bucket. Using this mechanism has the
advantage of doing this lazily that both allows the reindex operation
to run more quickly and distributes the workload over time.
This subcommand can help restore lost bucket index entries.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Nizamudeen A [Thu, 9 Mar 2023 11:51:44 +0000 (17:21 +0530)]
mgr/dashboard: custom image for kcli bootstrap script
the stable branches like quincy pulls from the quay.io/ceph/ceph:v17 to
bootstrap the ceph cluster in test environments. This will cause issues
because the branches are changing constantly but the image is not. So
using the quay.ceph.io repo to bring the cluster in test environment.
Venky Shankar [Wed, 8 Mar 2023 07:06:21 +0000 (12:36 +0530)]
Merge PR #49008 into main
* refs/pull/49008/head:
doc/quota: accept human readable quota value documented
qa/workunits/fs/quota.sh: use human readable format for ceph.quota.max_bytes
qa: added three testcases
mds: accept human readable values for quotas
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Milind Changire <mchangir@redhat.com> Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com> Reviewed-by: Rishabh Dave <ridave@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
Venky Shankar [Wed, 8 Mar 2023 02:42:02 +0000 (08:12 +0530)]
Merge PR #46357 into main
* refs/pull/46357/head:
PendingReleaseNotes: add reference to the new mdsmap max_xattr_size field
qa/tasks/mgr/dashboard/test_health: Add 'max_xattr_size' to the mdsmap schema
mds: prevent exceeding xattrs limits on initial set
mds: prevent clients from exceeding the xattrs key/value limits
mon: add new configuration to limit filesystem xattrs size
Reviewed-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com>
Zac Dover [Wed, 8 Mar 2023 01:52:12 +0000 (11:52 +1000)]
doc/install: update index.rst
Update index.rst by making minor grammar improvements. This file was
long overdue for a backport to Reef, Quincy, and Pacific, so this commit
was a good way to pass a human eyeball over the text before making those
backports.
Casey Bodley [Tue, 7 Mar 2023 22:28:54 +0000 (17:28 -0500)]
rgw/sysobj: read() can query size/mtime
rgw_get_system_obj() stopped calling stat() before read() in 90aec61298fc378e1733bc76f0d3f95ce8ec135a, which left the optional
'real_time *pmtime' argument uninitialized
when requested, read() will add a stat op to initialize size/mtime
John Mulligan [Mon, 27 Feb 2023 19:38:50 +0000 (14:38 -0500)]
cephadm: fix timeout argument to call function
The timeout argument to call function, for executing sub-processes, did
not function - this patch makes timeout work as (probably) intended.
Use the `process.communicate()` method rather than `tee` functions to
handle IO collection. Since no logging is done until after the exit code
is known the tee calls are not necessary. Add calls to kill the child
process when the time out occurs. This helps prevent event loop "leaks"
that generate python warnings.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Adam King [Wed, 15 Feb 2023 22:07:09 +0000 (17:07 -0500)]
mgr/cephadm: be aware of host's shortname and FQDN
The idea is to gether the shortname and FQDN as part
of gather-facts, and then if we ever try to check if a certain
host is in our internal inventory by hostname, we can check
these other known names. This should avoid issues where
we think a hostname specified by FQDN is not in our
inventory because we know the host by the shortname
or vice versa.
Fixes: https://tracker.ceph.com/issues/58738 Signed-off-by: Adam King <adking@redhat.com>
Matan Breizman [Sun, 5 Mar 2023 09:31:03 +0000 (09:31 +0000)]
crimson/osd: Introduce with_head_and_clone_obc()
In continuation to 7ca2690be956a36f61c7729946b94ccd970dd9c7:
Now that the head ref is no longer a member of obc, we need a new
substitute way to get the head when needed.
When loading a clone object, the head object is loaded
first (See with_clone_obc). Therefore we can make use of this design
to move the loaded head forward to the relevant func (See with_head_and_clone_obc).
Usually, we wouldn't need to make use of both the head and the clone obc in the
same function. However, SnapTrimObjSubEvent::remove_or_update is an abnormal usage.
Note: We want to avoid holding any unneeded references to obcs
to allow the obc_registery to evict no longer valid obc.
Therefore, with_obc() which references only a single obc is the
preferred entry point for loading obcs.
Matan Breizman [Sun, 19 Feb 2023 10:49:47 +0000 (10:49 +0000)]
crimson/osd: Remove head memeber from ObjectContext
Before this patch, ObjectContext had a head member which was used
to get the head obc of a clone object.
This member caused the head object to being referenced while
attempting to 'clear_replica_obc' (Since we only evict un-referenced
obc from the obc_registery).
This mechanism, of obtaining the head, is no longer needed since
'with_clone_obc' loads the head object context first (using
oid.get_head).
In this commit, head is removed from ObjectContext class and users
are removed as well.