Inokinoki commented on issue #3411:
URL: 
https://github.com/apache/incubator-opendal/issues/3411#issuecomment-1803627588

   > > I am not a big fan to make it a lib, instead, it is much like an 
application, using opendal as a lib, and acting as a bridge between the kernel 
and opendal. WDYT?
   > 
   > Let me make my statement more clear. My plan is to have the following 
parts:
   > 
   > * `fuser-opendal` lib in `integrations` which serve as a lib that 
implements `fuser::Filesystem` based on opendal.
   > * `ofs` in `bin` which is a binary that can be used to mount any storage 
services.
   > * Also, `oli` can reuse `fuser-opendal` inside to provide `oli mount` but 
I'm not sure if we should do this.
   > * And other application who want gain the same feature can use 
`fuser-opendal` directly.
   
   In terms of testing, I totally agree that we need to test the modules 
separately.
   However, the `fuser::Filesystem` is deeply coupled with the cli (maybe the 
future `ofs`) and with the `fuser`.
   
   I think that we can have a better abstraction to decouple it:
   1. `fuser::Filesystem` provides full functional callbacks for `fuser`, which 
calls fs manipulation functions from an abstraction layer and utility functions 
to manipulate inode/path.
   2. the implementation of the layer can be provided in a lib (maybe 
`opendal-fs-bridge`? also for the future ACL<->fs permission mapping);
   3. inode and path name maintenance could be in another lib `opendal-fs-util`.
   
   In this way, other promising libs such as `opendal-kio` could also leverage 
2 maybe and 3 to provide the similar functionality. For the others who wants to 
implement another fuse backed by OpenDAL, they are also eligible to the 
libraries other than `fuser`.
   I had the concern that DalFs was like a toy project and relied too much on 
`fuser`.
   
   WDYT?
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to