Kefu Chai [Thu, 3 Nov 2022 06:04:30 +0000 (14:04 +0800)]
crimson/os/alienstore: parse crimson_alien_thread_cpu_cores as a cpuset(7)
the "List format" listed in cpuset(7) allows us to specify a range of
CPU cores in a comma-separated list. and the upper bound of the range
is optional. before this change, the upper bound is not optional.
before this change, the upper bound of the range is not optional. and
the upper bound is not inclusive. so we don't support the list format
of cpuset(7). Take cores "1,2,3,5,7,8" for example, we need to set the
option to "1-4,5-6,7-9" to represent this cpuset.
after this change, the upper bound is optional, so we can properly
support the list format defined by cpuset(7). and the upper bound is
inclusive. so we can use "1-3,5,7-8", which is compatible with
notation defined by cpuset(7).
in this change, the cpuset option is parsed using a seastar helper,
which is implemented using a regex. so we don't need to manually parse
it. as Seastar's parser returns an `std::optional<std::set<unsigned>>`.
if the string does not match with the regex of comma-separated list,
the returned cpuset does not have a value. this design is more explicit.
so in this change, instead of using `std::vector<uint64_t>`,
`std::optional<cpuset>` is used.
Signed-off-by: Jianxin Li <jianxin1.li@intel.com> Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Laura Flores [Fri, 28 Oct 2022 18:24:33 +0000 (13:24 -0500)]
.github/workflows: update `days-before-pr-close`
Currently, the stale bot closes PRs 90 days after they are marked stale since it counts "marking a PR stale" as activity.
We really want the PRs to close after a total of 90 days, or 30 days after they are marked stale. Changing `days-before-prs-close` to 30 will fix this.
Samuel Just [Mon, 10 Oct 2022 23:33:38 +0000 (16:33 -0700)]
qa/suites/crimson-rados: remove cache and dedup related tests
It's an accident that some of these pass -- the tests provide some
coverage for inconsistencies that can arise, but don't really validate
that the objects actually get moved between tiers.
It's going to be some time before we implement cache or dedup in
crimson, and we'll probably want to disable the related commands for
pools that can map to crimson osds to prevent accidents.
Zac Dover [Mon, 17 Oct 2022 14:09:34 +0000 (00:09 +1000)]
doc/radosgw: refine "notification reliability"
This commit refines the English in the "Notification Reliability"
section of the notifications.rst page (the "Bucket Notifications"
page). I have also added signposting structure.
Ernesto Puerta [Tue, 18 Oct 2022 12:50:39 +0000 (14:50 +0200)]
.github/pr-triage: update node.js to v16
[Warning](https://github.com/ceph/ceph/actions/runs/3273201887):
```
Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
Please update the following actions to use Node.js 16: actions/labeler, iyu/actions-milestone
```
Ernesto Puerta [Mon, 17 Oct 2022 15:50:41 +0000 (17:50 +0200)]
.github/pr-triage: switch from old to new project
The old (classic) Dashboard project (https://github.com/ceph/ceph/projects/6) has been migrated to a new-style one (https://github.com/orgs/ceph/projects/2/views/1).
This also requires updating the GH Action that automatically assigned `dashboard`-labeled PRs to the Dashboard project.
John Mulligan [Mon, 10 Oct 2022 14:21:02 +0000 (10:21 -0400)]
install-deps: switch to C.UTF-8 locale
The en_US.UTF-8 locale is not always going to present on all systems.
Specifically, setting en_US.UTF-8 causes numerous warnings when running
this script on a CentOS Stream 8 container. Rather than install
additional packages to suppress the warning, use the C.UTF-8 locale.
Additionally, try to update the comment explaining the line to something
based on the commit history rather than the confusing term "vulnerable".
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Mon, 10 Oct 2022 14:01:21 +0000 (10:01 -0400)]
install-deps: remove emacs modeline from script
The majority of the lines in this shell script uses spaces to indent,
but I *think* this modeline tells emacs to indent with tabs. In a very
near future change I'm going to make all indents use spaces. So we first
remove the emacs modeline that tells it to use the opposite.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Ramana Raja [Thu, 22 Sep 2022 15:41:50 +0000 (11:41 -0400)]
src/mds: increment directory inode's change attr by one
... whenever the mtime or ctime of the directory inode is modified.
In CephFS subvolume clones exported using NFS-Ganesha, newly created
files using `touch` were not being listed. It was identified that the
create request sent to the Ceph MDS via NFS-Ganesha's libcephfs client
modified the mtime and ctime of the parent directory, but did not modify
the change_attr of the parent directory. Since the NFS client
didn't see a modification of the change attribute in the reply, it
didn't invalidate its readdir cache. The subsequent directory `ls` was
satisfied from the NFS client's stale readdir cache.
Whenever parent directory inode's mtime was modified in
MDCache::predirty_journal_parents(), the parent inode's change_attr
was set to its dirstat->change_attr. The parent inode's
dirstat->change_attr doesn't track changes to parent's *ctime only*
changes such as setattr, setvxattr, etc. on the parent
directory. See commit 0d441dcd6af553d11d6be6df56d577c5659904a0 for more
details. This caused the directory inode's change_attr to not be updated
when an operation to change only its ctime was followed by an operation
to change its mtime and ctime.
Fix this by making changes to MDCache::predirty_journal_parents() and
CInode::finish_scatter_gather_update() to increment the directory
inode's change_attr by one instead of setting it to its
dirstat->change_attr.
Fixes: https://tracker.ceph.com/issues/57210 Signed-off-by: Ramana Raja <rraja@redhat.com>
Alternate operations that only change directory's ctime
(setattr/setxattr/removexattr on directory) with those that change
directory's mtime and ctime (create/rename/remove a file within
directory). Check that directory's change_attr is updated everytime
ctime changes.
Zac Dover [Fri, 14 Oct 2022 06:17:12 +0000 (16:17 +1000)]
doc/radosgw: add push_endpoint for rabbitmq
This commit directs users of rabbitmq to use "push_endpoint"
(with an underscore) instead of "push-endpoint" (with a hy-
phen). This commit adds a note that contains such a direct-
ive. It does not alter the examples already present in the
text.
Venky Shankar [Thu, 13 Oct 2022 05:22:22 +0000 (01:22 -0400)]
qa: fs:upgrade featureful_client test upgrades to quincy
Reef cycle will not allow upgrades from octopus. However, the featureful
client tests still needs to be testes, therefore, upgrade to quincy (from
octopus) rather to the current cycle (reef).
crimson/osd: resolve_oid() looks in clone_snaps by requested snap ID
Before the patch the method was looking for `lower_bound(oid.snap)`
from `SnapSet::clones` which leads to reading from head instead of
returning the `ENOENT` expected in `TestLibRBD.TestIOToSnapshot`.