Skip to content

Conversation

@labkode
Copy link
Member

@labkode labkode commented Aug 19, 2025

Read the accompanying README.md for a comprehensive summary of this driver.
This change requires go1.25 to benefit from the os.Root methods.

  • use chroot for all local filesytem operations
  • use librados and libcephfs for obtaining path from device inode through MDS
  • create gorouting pool and map users to dedicated physical threads to set effective user id on the mount
  • adapt test/CI to go 1.25
  • validate in integration scenario with upstream services (ocdav, etc ...): ⚠️ refer to Spaces incompatibility #5300

This PR introduces also some collateral changes:

  • Bumps go to version 1.25 (needed to benefit from os.Root guarantees on most of the os ops)
  • Replaces golangci-lint with standards go vet (there wasn't much added value on running it)
  • Fixes other tests to avoid using reflect.DeepEqual on protobuf's structs.

It relies on a locally mounted filesystem and
only relies on libcephfs and librados to obtain
the path from an device inode.
@update-docs
Copy link

update-docs bot commented Aug 19, 2025

Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes.

@labkode labkode changed the title nceph: new hybrid driver to connect to ceph clusters. nceph: new hybrid driver to connect to CEPH clusters. Aug 19, 2025
@labkode labkode self-assigned this Sep 4, 2025
@labkode labkode marked this pull request as ready for review September 4, 2025 06:58
@glpatcern glpatcern changed the title cephmount: new hybrid driver to connect to CephFS clusters. cephmount: new hybrid driver to connect to CephFS clusters with go 1.25 Sep 9, 2025
Copy link
Member

@glpatcern glpatcern left a comment

Choose a reason for hiding this comment

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

Let's go ahead with this important change so that we can start field-testing it and adjusting it as necessary. A full code review remains due, during the field tests.

@glpatcern glpatcern merged commit f39836c into cs3org:master Sep 9, 2025
15 checks passed
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.

cephfs: share permissions not propagating to WebUI cephfs: cannot delete directory containing files

2 participants