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.
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.