Benjamin Fleischer wrote 2010-11-13 15.35:
Comparing:

a) the 2010-10-17 announcement by Benjamin of his build
MacFUSE 2.1.7 (10.6 i386, x86_64).dmg

b) the 2010-10-20 build by Tuxera of
macfuse-core-10.5-2.1.9.dmg
announced on 2010-10-26

The latter includes more more on the 64-bit locking, "should be a lot
more proper than the one previously published" but "only works on 10.6
at the moment".
No one but Tuxera really knows what was changed or improved.

Basically release a) features locking that is extremely conservative. The entire kernel extension code is locked down with a 'huge lock' each time a thread enters. I.e. if one call blocks on one file system, all other MacFUSE file systems are also blocked until the call completes. This is pretty unsuitable for general-purpose use, and was never meant to be a final solution.

Release b) features per-filesystem locking and node locking which means that filesystems are more independent of each other. The 'biglock' that is associated with each file system is also released during external calls that could block (otherwise deadlocks could result) but the node lock stays in place most of the time to ensure that nobody modifies the vnode that is being accessed. This is all a bit error-prone and needs to be tested, which is why I posted a release with lots of debug messages. Since nobody seems to have experienced any deadlocks, maybe it's time to share the source code of this build:
    http://www.tuxera.com/mac/macfuse-rebel-2.1.9-src.tar.bz2

Could be that the panic Zev encountered is locking related and could have been 
avoided when using Tuxera's build.

A panic log would have been helpful, otherwise we cannot know what was the cause. Panics are actually unlikely to result from the locking code itself. If there's a problem with locking, the result is usually a system-wide lockup (deadlock inside the kernel).

They might have already fixed the problem ... or not. Nobody knows since they 
have not made their source code available.

See above for source code.

Could be that a third or fourth build will be released next week improving who knows 
which feature. It seems kind of pointless to me to test that many builds rather than 
having one development tree. I think it would be nice to have a new common source tree 
and only one "semi-unofficial" build to test.

Agreed.

This way the same problem has to be fixed in only one source tree and everyone 
could benefit from it. Much as it was when official MacFUSE was under active 
development. If everyone focuses on their own builds the MacFUSE community, 
which by the way does not seem too big, would scatter even further. What is 
your opinion on that?

Benjamin, please: should test environments with 64-bit kernel
capability focus on testing (b), whilst testers in a 10.5.x
environment limit themselves to your (a)?
As I wrote in my first post the version I released was compiled using the Mac 
OS X 10.6 SDK. I set the min supported version to 10.6. So I guess my build 
will not work with 10.5. The only thing that might work in 10.5 is the core 
fuse.fs component, which would not compile with min version set to 10.6, so I 
set it to 10.5 for this component only. I have never tested weather my build 
works with 10.5. I do not have a Mac running 10.5 natively. I solely focused on 
10.6 (and intel architecture) since there should be no need for a 64 bit build 
in Leopard. As far as I know Leopard only brings along a 32 bit kernel (with 
support for 64 bit applications). So Leopard users could stick to the latest 
official beta release 2.1.5 which should be well tested.

That would probably be the best option (or 2.0.3 really).

That means there is no unofficial MacFUSE 2.17 or 2.19 (as Tuxera calls theirs) 
build out there (that I am aware of) supporting Leopard.

I simply set the version to 2.1.9 to signal that it's different from the previous build that was released from backporting the 'TUFS' modifications. Version numbers can be discussed, this was just a test release anyway. We generally favour a YEAR.MONTH(.something)-type versioning scheme at Tuxera.

- Erik

--
You received this message because you are subscribed to the Google Groups 
"MacFUSE" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/macfuse?hl=en.

Reply via email to