Skip to content

mds: inode_t flags may not be protected by the policylock during set_vxattr#56934

Merged
batrick merged 6 commits intoceph:mainfrom
batrick:i65496
Apr 30, 2024
Merged

mds: inode_t flags may not be protected by the policylock during set_vxattr#56934
batrick merged 6 commits intoceph:mainfrom
batrick:i65496

Conversation

@batrick
Copy link
Member

@batrick batrick commented Apr 16, 2024

Contribution Guidelines

  • To sign and title your commits, please refer to Submitting Patches to Ceph.

  • If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox
  • jenkins test windows
  • jenkins test rook e2e

@mchangir
Copy link
Contributor

I wonder if this was the cause of missing ceph.dir.subvolume in some upstream and downstream cases.

"show cache status");
ceph_assert(r == 0);
r = admin_socket->register_command("quiesce path"
r = admin_socket->register_command("lock path"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whoops! Didn't mean to do this.

@batrick
Copy link
Member Author

batrick commented Apr 17, 2024

I wonder if this was the cause of missing ceph.dir.subvolume in some upstream and downstream cases.

The inode still gets projected but ... maybe?

@batrick
Copy link
Member Author

batrick commented Apr 17, 2024

This PR is under test in https://tracker.ceph.com/issues/65530.

@batrick
Copy link
Member Author

batrick commented Apr 17, 2024

jenkins test api

Copy link
Contributor

@leonid-s-usov leonid-s-usov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, that's a good catch!

Please update the name of this PR because it's not about replication but locking.

On a separate note: love the lock path admin command, very much needed!

@batrick batrick changed the title mds: ceph.dir.subvolume and ceph.quiesce.blocked is not properly replicated mds: ceph.dir.subvolume and ceph.quiesce.blocked may not be properly locked prior to req execution Apr 17, 2024
@batrick
Copy link
Member Author

batrick commented Apr 18, 2024

jenkins test api

@batrick
Copy link
Member Author

batrick commented Apr 18, 2024

This PR is under test in https://tracker.ceph.com/issues/65562.

@leonid-s-usov leonid-s-usov changed the title mds: ceph.dir.subvolume and ceph.quiesce.blocked may not be properly locked prior to req execution mds: inode_t flags may not be protected by the policylock during set_vxattr Apr 18, 2024
@batrick
Copy link
Member Author

batrick commented Apr 20, 2024

This PR is under test in https://tracker.ceph.com/issues/65596.

@batrick
Copy link
Member Author

batrick commented Apr 20, 2024

jenkins test make check

@batrick
Copy link
Member Author

batrick commented Apr 22, 2024

batrick added 6 commits April 22, 2024 15:01
or other uses.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
So we can have a long-running lock on an inode for certain tests.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
When the policy xlock cannot be immediately acquired.

Test-case: https://tracker.ceph.com/issues/65496
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
The code logic had a serious defect that it would only execute xlock_policylock
once such that a retry would then proceed to executing the vxattr setting.

Fixes: https://tracker.ceph.com/issues/65496
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
- tasks.cephfs.test_volumes.TestSubvolumeGroups
- tasks.cephfs.test_volumes.TestSubvolumes
- tasks.cephfs.test_subvolume.TestSubvolume
- tasks.cephfs.test_subvolume
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs rerun because this was missing.

@batrick
Copy link
Member Author

batrick commented Apr 24, 2024

jenkins test windows

@batrick
Copy link
Member Author

batrick commented Apr 25, 2024

jenkins test make check arm64

@batrick
Copy link
Member Author

batrick commented Apr 25, 2024

This PR is under test in https://tracker.ceph.com/issues/65661.

batrick added a commit to batrick/ceph that referenced this pull request Apr 29, 2024
* refs/pull/56934/head:
	mds: move drop_locks to directly after rdonly check
	qa: test quiesce.block is replicated
	qa: test that ceph.dir.subvolume is replicated properly
	mds: add debug "lock path" command
	qa: move reqid_tostr helper
	qa: return run_shell process for waiters
@batrick
Copy link
Member Author

batrick commented Apr 29, 2024

jenkins test make check arm64

@batrick
Copy link
Member Author

batrick commented Apr 29, 2024

This PR is under test in https://tracker.ceph.com/issues/65694.

@batrick
Copy link
Member Author

batrick commented Apr 30, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants