If users provide the 'daos:' prefix, ROMIO will use the DAOS apis directly no problem.
if users only provide a path to a file that is on daos, ROMIO's auto-detection logic will see the file system is of type "fuse", and that otherwise-unknown file system will be treated as "generic unix" (and perform pretty badly).
There appears to be no way to get FUSE to tell us what's really going on behind the scenes, so we'll look extra-hard at fuse-type files to see if it's DAOS or not.
I'm not stoked about this abstraction layering violation but I don't think there are other options. All the fs-detection magic is stuffed in this one part of ROMIO, so if we find ourselves wondering about other FUSE file systems, we can keep on adding to the logic here.
Author Checklist
[ ] Provide Description
Particularly focus on why, not what. Reference background, issues, test failures, xfail entries, etc.
[ ] Commits Follow Good Practice
Commits are self-contained and do not do two things at once.
Commit message is of the form: module: short description
Commit message explains what's in the commit.
[ ] Passes All Tests
Whitespace checker. Warnings test. Additional tests via comments.
[ ] Contribution Agreement
For non-Argonne authors, check contribution agreement.
If necessary, request an explicit comment from your companies PR approval manager.
Pull Request Description
If users provide the 'daos:' prefix, ROMIO will use the DAOS apis directly no problem.
if users only provide a path to a file that is on daos, ROMIO's auto-detection logic will see the file system is of type "fuse", and that otherwise-unknown file system will be treated as "generic unix" (and perform pretty badly).
There appears to be no way to get FUSE to tell us what's really going on behind the scenes, so we'll look extra-hard at fuse-type files to see if it's DAOS or not.
I'm not stoked about this abstraction layering violation but I don't think there are other options. All the fs-detection magic is stuffed in this one part of ROMIO, so if we find ourselves wondering about other FUSE file systems, we can keep on adding to the logic here.
Author Checklist
module: short description
Commit message explains what's in the commit.