Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
None.
Rationale for this change
Previously, error handling in virtiofs_opendal was a bit messy, and many errors were not used correctly. I hope that error handling in virtiofs_opendal can be unified and standardized in this PR to lay a good foundation for future iterations.
In general, I think virtiofs_opendal errors can be divided into two categories, errors that meet expectations (from opendal or basic checks, such as files that don't exist), and errors that don't meet expectations (from programming or the virtiofs framework, such as requests that can't be resolved). Both types of errors can be wrapped as io::Error or raw_os_error, returned to the caller (virtiofs framework, user, or vfs), and logged in the terminal.
What changes are included in this PR?
Refactor the current error handling in OVFS.
Are there any user-facing changes?
None.