On 01/04/18 13:34, Aurelien RAINONE wrote:
Hello Philippe,

Did you mean it like I could directly use the FSAL you developed, modify some code (or not?) in order to use S3 as a storage? Or is it to share solutions you found to some problems I will encounter during the development of my FSAL_S3.
My position is that object storage (I consider S3 as an "object accessor") has its own semantic which differs from the POSIX one. Because of this, it's quite difficult to fit creatures from the object storage world into a FSAL. What I did is a lib in two sub-component that emulates a POSIX namespace using object storage as a backup. Since object storage have few mds (and they are quite different from the POSIX ones), a (potentially distributed) KVS is used to manage them. What you can try is taking this lib (look here https://github.com/phdeniel/kvsns), and use REDIS to store your mds. You'll then have to implement access to storage (that's the "extstore" sub library). In particular, this lib handles inodes, open fd (with management of the "open and deleted" case). Once you have this, I do have a FSAL that make the interface between nfs-ganesha and this lib, exposing the emulated namespace. As said previously, it has no support_ex, it rely on the former version of the FSAL_API. The simplest for you is to have a look at the code : /github.com/phdeniel/kvsns


In both cases, I sure would be happy to have a look at your project, thank you for that.

What do you mean by no compliancy to support_ex, does that imply a specific range of ganesha versions? other constraints?

​Regards,

Aurélien




2018-01-04 13:18 GMT+01:00 DENIEL Philippe <philippe.den...@cea.fr <mailto:philippe.den...@cea.fr>>:

    Hi Aurélien,

    I can provide you an alternate solution, still nfs-ganesha based.
    For the need of a project, I developed an open-source library that
    emulate a POSIX namespace using a KVS (for metadata) and an object
    store (for data). For example, you can use REDIS and RADOS. I have
    written a FSAL for it (it is not pushed in the official branch)
    but with no compliancy to support_ex, it's still using the former
    FSAL semantics (so it should be ported to support_ex). If you are
    interested, I can give you some pointers (the code is on github).
    You could use S3 as data storage for example. In particular, I had
    to solve the same "inode" issue that you met. This solution as
    very few impact on nfs-ganesha code (it just adds a new FSAL).

         Regards

            Philippe

    On 01/03/18 19:58, Aurelien RAINONE wrote:
    To follow up on the development on an FSAL for S3, I have some
    doubts and questions I'd like to share.
    Apart from its full path, S3 doesn't have the concept of file
    descriptor, I mean, there's nothing else
    than the full path that
    IcanprovidetoS3inordertogetattributeofcontentofaspecificobject.
    I have some doubts regarding the implementation of the S3 fsal
    object handle (s3_fsal_obj_handle).
    Should s3_fsal_obj_handle be very simple, for example should it
    only contain a key that maps to the full S3 filename, in an
    key-value store.
    Or on the contrary, should the handle implement a tree like
    structure, like I saw in FSAL_MEM?
    Or something in between, but what?
    Having a very simple handle has some advantages but may require
    some more frequent network calls,
    for example readdir won't have any kind of information about the
    content of the directory.
    Having a whole tree-like structure in the handle would allow to
    have direct access to directory content,
    but isn't that the role of ganesha cache to do that?
    My questions probably shows that I have problems to understand
    the responsability of my FSAL implementation
    regarding the cache. Who does what, what doesn't do what?
    Good evening,
    Aurélien


    
------------------------------------------------------------------------------
    Check out the vibrant tech community on one of the world's most
    engaging tech sites, Slashdot.org!http://sdm.link/slashdot


    _______________________________________________
    Nfs-ganesha-devel mailing list
    Nfs-ganesha-devel@lists.sourceforge.net
    <mailto:Nfs-ganesha-devel@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
    <https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel>




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to