sahlberg / fuse-nfs

A FUSE module for NFSv3/4
GNU General Public License v3.0
172 stars 41 forks source link

Fix crash of fuse-nfs when used with dokan-fuse #13

Closed Daniel-Abrecht closed 7 years ago

Daniel-Abrecht commented 7 years ago

Dokan_fuse uses different structs instant of struct stat depending on which compiler is used, and defines the macro FUSE_STAT accordingly. The function fuse_nfs_getattr assumed struct stat as second parameter, while dokan_fuse used another one.

sahlberg commented 7 years ago

Merged. Thanks.

sahlberg commented 7 years ago

Thanks!

Ah, yes, the stat structure. That structure is really painful :-( Merged, thanks.

For libnfs, I currently only have VisualStudio project files for the win32 build. I see you have scripts to build under mingw too. If you want to, I am happy to host both the mingw build scripts as well as build instructions in the libnfs repository.

On Mon, Feb 27, 2017 at 3:52 PM, Daniel Abrecht notifications@github.com wrote:

Dokan_fuse uses different structs instant of struct stat depending on which compiler is used, and defines the macro FUSE_STAT accordingly. The function fuse_nfs_getattr assumed struct stat as second parameter, while dokan_fuse used another one.

You can view, comment on, or merge this pull request online at:

https://github.com/sahlberg/fuse-nfs/pull/13 Commit Summary

  • Fix for wrong stat struct argument in fuse_nfs_getattr when compiled with dokan_fuse, which caused dokan_fuse to crash.

File Changes

Patch Links:

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sahlberg/fuse-nfs/pull/13, or mute the thread https://github.com/notifications/unsubscribe-auth/AAeNkAasb-D1pamumAJqouoLNf-BM37aks5rg2G7gaJpZM4MNyV9 .

Daniel-Abrecht commented 7 years ago

Well, It's just a bash script which clones the repository, uses the existing autoconf files, and calls the configure script with a few additional parameters. In fact, it all boils down to:

autoreconf --install
./configure --host=x86_64-w64-mingw32 'CPPFLAGS=-I../dokany/dokan_fuse/include/' 'CFLAGS=-I../dokany/dokan_fuse/include/'
make

And the CPPFLAGS aren't even necessary if it isn't used together with dokan_fuse, since I just include it so both use the same 'struct statvfs'.

Anyways, feel free to do whatever you want with those build scripts: https://github.com/Daniel-Abrecht/fuse-nfs-crossbuild-scripts