bfleischer / macfuse Goto Github PK
View Code? Open in Web Editor NEWMacFUSE is an implementation of the FUSE API for Mac OS X
Home Page: http://bfleischer.github.com/macfuse/
License: Other
MacFUSE is an implementation of the FUSE API for Mac OS X
Home Page: http://bfleischer.github.com/macfuse/
License: Other
void
Hi,
ok finally I created a reduced testcase that shows issues with macfuse+pthreads. macfuse works fine if fuse_loop() is in the main thread. But when we want to run it in a separate thread and access filesystem from another thread - we have issues.
The test case is at https://gist.github.com/976896 See the commends at the bottom of the file that briefly describe the issues.
It says "kextload" does not have -s parameter. I guess "kextutil -s" should be used in macfuse_buildtool.sh
But even with this change on my machine it fails with:
=== BUILD NATIVE TARGET fusefs OF PROJECT fusefs WITH CONFIGURATION Debug ===
Check dependencies
** BUILD SUCCEEDED **
MacFUSEBuildTool(reload) : reloading kext
Notice: Using running kernel architecture i386 to generate symbols.
Warnings:
Executable does not contain code for architecture:
i386
/tmp/fusefs.kext appears to be loadable (not including linkage for on-disk libraries).
Loading /tmp/fusefs.kext.
Can't load /tmp/fusefs.kext - no code for running kernel's architecture.
Failed to load /tmp/fusefs.kext - (libkern/kext) requested architecture/executable not found.
Failed to load /tmp/fusefs.kext - (libkern/kext) requested architecture/executable not found.
MacFUSEBuildTool(reload) failed: cannot load newly built MacFUSE kext.
This is a command that I use for testing your changes:
$ git clone git://github.com/anatol/tup.git && cd tup && git checkout fuse && ./bootstrap.sh
It works with the latest official release (+macports patches) but fails with your master:
[ 0/17 ] src/tup/CC create_name_file.c
unique: 11, opcode: ACCESS (34), nodeid: 1, insize: 48
access / 01
unique: 11, success, outsize: 16
unique: 11, opcode: LOOKUP (1), nodeid: 1, insize: 46
LOOKUP /Users
getattr /Users
NODEID: 2
unique: 11, success, outsize: 152
unique: 12, opcode: FORGET (2), nodeid: 2, insize: 48
FORGET 2/1
DELETE: 2
Users/anatol/sources/tup: Invalid argument
I guess that something wrong with the DELETE.
Hi,
Here is a follow up for the issue #3. Testing my app with your master branch and there is yet another issue:
unique: 2, opcode: ACCESS (34), nodeid: 409, insize: 48
access /Users/anatol/sources/tup/@tupjob-28/libtup_client.a 02
unique: 2, success, outsize: 16
unique: 1, opcode: ACCESS (34), nodeid: 409, insize: 48
access /Users/anatol/sources/tup/@tupjob-28/libtup_client.a 00
unique: 1, success, outsize: 16
unique: 3, opcode: UNLINK (10), nodeid: 408, insize: 56
QUEUE PATH 409 (w)
WAIT ON PATH 409 (w)
/usr/bin/ranlib: can't create output file: libtup_client.a (Bad file descriptor)
ar: internal ranlib command failed
The "WAIT ON PATH" message comes from http://www.google.com/codesearch/p?hl=en#rdCCvgMofJA/trunk/rdp/fuse/fuse-2.8.4/lib/fuse.c&q=%22WAIT%20ON%20PATH%22&sa=N&cd=1&ct=rc&l=645
Here is the code that originally added the logic anatol/fuse@72faaa5
I am going to recompile 2.1.1 and see if it is reproducible on that version.
I try to run this command on 64bit kernel
$ ./macfuse_buildtool.sh -t examples
and it fails:
config.status: creating lib/Makefile
config.status: creating util/Makefile
config.status: creating include/Makefile
config.status: creating include/config.h
config.status: include/config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
Can't open Makefile: No such file or directory.
MacFUSEBuildTool(examples) : running make
make: *** No targets specified and no makefile found. Stop.
MacFUSEBuildTool(examples) failed: make failed while compiling the MacFUSE examples.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.