This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cygfuse


On 9/20/16, 10:33 PM, Mark Geisert wrote:

>On Tue, 20 Sep 2016, Bill Zissimopoulos wrote:
>> Mark, has there been any additional progress on this?
>
>No activity. I was not expecting Dokany to be fully integrated before
>ITPing cygfuse, but I had hoped to hear at least that the layout of FUSE
>include files works for them (or doesn't) and that the strategy of
>dynamic 
>loading Dokany's DLL is workable for them too.

I am no Dokany expert, but I would think that the dlopen strategy will
work for them as well. They export FUSE symbols such as fuse_new, etc.

https://github.com/dokan-dev/dokany/blob/master/dokan_fuse/src/dokanfuse.de
f

>> Looking at the updated cygfuse I believe one change would be to rename
>> cygfuse.pc back to fuse.pc so that build configuration scripts can find
>> it. I have created a github issue for this.
>
>I've now made those changes and updated the GitHub issue. Should the URL
>named in fuse.pc.in now point at the GitHub cygfuse project?

Yes, I think only the cygfuse project should be referenced.

>> Other than that I would think that the package would be ready for
>> submission. Any changes to support additional projects like Dokany, etc.
>> could easily happen in the future when those projects are ready.
>
>Agreed. It would be neet though to find out sooner rather than later
>whether some other FUSE implementation can coexist with WinFSP. I don't
>have the bandwidth to check Dokany or any others myself despite interest.

The only gotcha that I see is with the header files. I recommend that you
eventually create a new cygfuse-winfsp.c file and move all WinFsp specific
code in there. Some of the code from the header files will have to be
moved into this new file (cygfuse-winfsp.c). Then the header files could
have all WinFsp specific references removed. Notice that under normal
circumstances (e.g. when used to compile SSHFS) the FSP_FUSE_* macros get
defined as:

#define FSP_FUSE_API                    __declspec(dllimport)
#define FSP_FUSE_API_NAME(n)            (n)


#define FSP_FUSE_API_CALL(n)            (n)
#define FSP_FUSE_SYM(proto, ...)        proto;



I would hope though that the ITP happens before this refactoring. I have
SSHFS and (possibly) FUSEPY ports that I would like to submit :)

Bill


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]