Skip to content

Comments

refactor: split monoiofs service into a separate crate#7038

Merged
koushiro merged 35 commits intoapache:mainfrom
codxbrexx:issue-monoiofs
Dec 20, 2025
Merged

refactor: split monoiofs service into a separate crate#7038
koushiro merged 35 commits intoapache:mainfrom
codxbrexx:issue-monoiofs

Conversation

@codxbrexx
Copy link
Contributor

@codxbrexx codxbrexx commented Dec 16, 2025

Which issue does this PR close?

Part of #6829
Closes #6909

Rationale for this change

This PR extracts the monoiofs service from opendal-core into its own crate opendal-service-monoiofs as part of the core-split effort (RFC-6828). This improves modularity and compilation times by removing service-specific dependencies (like monoio, flume) from the core crate.

What changes are included in this PR?

  • Created a new crate core/services/monoiofs.
  • Moved all monoiofs source code from core/core/src/services/monoiofs to the new crate.
  • Removed monoiofs source and dependencies (monoio, flume) from opendal-core.
  • Updated opendal-core to remove the internal monoiofs module.
  • Updated the opendal facade to re-export Monoiofs from the new crate when the services-monoiofs feature is enabled.
  • Ensures all imports use opendal_core instead of crate.

Are there any user-facing changes?

No. The public API opendal::services::Monoiofs remains exactly the same for users of the library. Internally, the code location and dependency structure have changed.

AI Usage Statement

No.

@codxbrexx codxbrexx requested a review from Xuanwo as a code owner December 16, 2025 22:09
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. releases-note/refactor The PR does a refactor on code or has a title that begins with "refactor" labels Dec 16, 2025
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Dec 16, 2025
Copy link
Member

Choose a reason for hiding this comment

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

please revert irrelevant changes

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the review.

Copy link
Member

Choose a reason for hiding this comment

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

😕 You did not revert it; please do not run cargo update directly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the clarification. I’ll revert the Cargo.lock changes caused by cargo update and push an updated commit.

@koushiro koushiro changed the title Service: monoiofs #6829 refactor: split monoiofs service into a separate crate Dec 19, 2025
Co-authored-by: Qinxuan Chen <[email protected]>
Co-authored-by: Qinxuan Chen <[email protected]>
@koushiro
Copy link
Member

Hi @koushiro, I’m cleaning up the PR to revert the unrelated changes.

Quick confirmation: after splitting monoiofs into its own crate, should opendal-core still re-export it behind the existing feature flag, or should the old module references be removed entirely? Thanks.

You can get all you want to know from the prompts in #6829

Copy link
Member

@koushiro koushiro left a comment

Choose a reason for hiding this comment

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

Mostly LGTM, but please revert the irrelevant changes in Cargo.lock

Copy link
Contributor Author

@codxbrexx codxbrexx left a comment

Choose a reason for hiding this comment

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

Applied change

@koushiro
Copy link
Member

Applied change

No you didn't, are we really speaking the same language?
Why you upgrade and downgrade some deps in the Cargo.lock?

@codxbrexx
Copy link
Contributor Author

Applied change

No you didn't, are we really speaking the same language? Why you upgrade and downgrade some deps in the Cargo.lock?

You’re right—sorry about that. I hadn’t fully reverted Cargo.lock.
I’ve now reset it to match origin/main exactly and pushed the update.

I’m currently stuck on the remaining Clippy errors and haven’t been able to resolve them correctly. Could you please point me in the right direction on how these are expected to be fixed in this refactor?

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Dec 20, 2025
@koushiro koushiro merged commit 2ee38aa into apache:main Dec 20, 2025
335 checks passed
@codxbrexx codxbrexx deleted the issue-monoiofs branch December 20, 2025 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/refactor The PR does a refactor on code or has a title that begins with "refactor" size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[core split] Service: monoiofs

3 participants