Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip: implement a global lock for cephfs encryption #4688

Draft
wants to merge 1 commit into
base: devel
Choose a base branch
from

Conversation

NymanRobin
Copy link
Contributor

Describe what this PR does

The pr implements a global mutex with the help of rados omap, this is needed because there is a concurrency in cephfs when encryption is used. This fixes the issue: #4654.

Is there anything that requires special attention

Due to this kernel requirement the testing is limited to the functionality of the mutex rather than the full feature

Sorry, I had to open this in a work in progress state, since I will be away on vacation the next four weeks and thought in case there is interest in continuing the work this would not go to waste. However I have tested this on a test setup with fscrypt compatible kernel and the concurrency issue is fixed. I will however add some things below that might need some attention still

Checklist:

  • Move the rados client from reftracker to more common location so that both reftracker and radosmutex can utilize it nicely
  • The LockOwner is not set properly currently
  • There is both release and remove lock think if these both are necessary and in that case when can the lock be released
  • Give the unit tests a bit more love
  • Make sure the logging is sensible
  • Overall tidiness of the code

Signed-off-by: NymanRobin <robin.nyman@est.tech>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant