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

bluestore: No extra files in osd_path directory #57318

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

aclamk
Copy link
Contributor

@aclamk aclamk commented May 7, 2024

Disables creation and use of files in osd_path directory.
No meta values set and persisted in superlabel block are mirrored to files.
No keyring file - key is read directly from objectstore.
No fsid file - fsid is read from superlabel block, and locking is done via bdev exclusive locking.

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

Block device got this interface function with ceph#7145.
In bluestore, bdev label just means "first disk block, located at #0".
For other devices, there is deeper meaning: https://docs.pmem.io/ndctl-user-guide/managing-label-storage-areas-lsa

It is most likely that two distinct features were joined by name.
It is obvious that any block device will be able to write to its first block.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
BlueStore meta values are located in superlabel block.
They were exported outside to osd dir (conf.osd_data) but no one
seems to need it. Now values are only in superlabel block.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
Moved logic of detecting objectstore pointed by conf.osd_data from
ceph_osd.cc to ObjectStore interface as
bool ObjectStore::probe_objectstore_type(...)

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
Move creation of type=bluestore in superlabel after creation of the label.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
If possible, extract 'osd_key' from objectstore meta variable and
put it to conf.key. That way keyring file is no longer needed.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
Now locking of bluestore is done via bdev exclusive locking.
Fsid is read directly from superlabel block.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
When open with O_EXCL fails it returns -EBUSY.
So if flock fail, we set result to -EBUSY.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
@aclamk aclamk requested a review from a team as a code owner May 7, 2024 10:28
@aclamk aclamk changed the title No extra files in osd_path directory bluestore: No extra files in osd_path directory May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants